В этой статье мы расскажем, как сделана летающая птица на карте DE_SURVIVOR.
Кто не помнит эту птицу вот посмотрите:
Для того, чтобы сделать такую птицу, нам понадобится текстура с ее изображением. Это будет текстура с маской, вот такая:
А теперь собственно о том, как устроена птичка. Данный зверь будет у нас объектом func_tracktrain, который будет постоянно перемещаться по объектам path_track. Эти path_track, как известно, определяют траекторию движения для func_tracktrain.
1. Делаем птичку
Начнем с изготовления птицы. Создадим небольшой браш, в нашем случае это будет браш с размерами 96х48х8 юнитов.
Нижнюю сторону браша окрасим текстурой с птицей. Все остальные стороны окрасим текстурой {BLUE. Сделаем мы это для того, чтобы они были прозрачными в игре.
Объект func_tracktrain, который будет птицей, должен содержать ORIGIN-браш. ORIGIN-браш мы разместим в центре птицы.
На виде сверху хорошо видно, как размещен ORIGIN-браш:
Дальше выделяем птицу вместе с ORIGIN-брашем и превращаем в объект func_tracktrain.
Выставим свойства и флаги для данного объекта.
Func_tracktrain (птица)
Render Mode: Solid (режим отображения, при котором синие части текстуры будут прозрачными) FX Amount: 255 First stop target: 1 (имя первой точки маршрута, т.е. первого объекта path_track) Distance between the wheels: 100 (влияет на плавность разворота птицы; больше -> плавнее) Initial speed: 240 (начальная скорость полета птицы) Speed: 240 (максимальная скорость птицы)
Флаги:
No User Control — чтобы игрок не мог управлять птицей Passable — чтобы птица была нематериальной (игроки могут через нее "проходить")
Все остальные свойства можно оставить по умолчанию.
И последнее, что касается птицы. Проследите за тем, чтобы голова птицы смотрела налево на виде сверху. Т.е. Вы просто ставите в редакторе 2D-вид сверху и разворачиваете птицу головой налево. Это необходимо, чтобы игра знала, какой стороной объект func_tracktrain должен двигаться вперед. В противном случае птичка может полететь вперед хвостом :)
2. Определяем траекторию движения птицы
Теперь мы создадим 16 объектов path_track. Мы расположим их «восьмеркой», примерно так, как это сделано на карте DE_SURVIVOR.
Чем больше path_track Вы создадите, тем более плавной будет траектория полета птицы. Хотя можно сделать много path_track, а траектория все равно будет угловатой :) Тут уж все зависит от Вашего глазомера.
Свойства всех объектов path_track схожи. Разница лишь в названии объектов и в названии следующей точки траектории.
Name: 1 Next stop target: 2 (имя следующего объекта path_track в траектории)
Name: 2 Next stop target: 3
...........
...........
...........
Name: 16 Next stop target: 1
Из приведенных выше свойств видно, что у каждого объекта DE_SURVIVOR в параметре Next stop target прописано имя следующего DE_SURVIVOR в траектории.
У самого последнего — шестнадцатого — объекта в данном параметре записано имя начальной — первой — точки траектории. Таким образом, птица будет летать бесконечно по восьмерке.
Птицу можно разместить в любом месте карты. Но для удобства, разместите ее около какого-нибудь объекта DE_SURVIVOR. И не забудьте направить голову птицы налево на виде сверху.
Чтобы птичка еще что-нибудь кричала, можно сделать объект DE_SURVIVOR, в котором указать звуковой файл с криком птички. Активировать его можно объектом DE_SURVIVOR.
Если что-то осталось для Вас не ясным, Вы можете скачать нашу карту-пример.
func_tracktrain.zip [28Кб] в архиве карта-пример в форматах BSP и RMF, а также нужный текстурный файл.