Из данного материала вы узнаете о том, как сделать вращающийся свет
(как бы проблесковый маячок). Для создания данного эффекта вам
потребуется умение работать с вершинами объектов, а также вы должны
знать следующий энтити-объект:
Для начала сделаем маленький браш, который будет представлять из себя лампочку. Превратим его [Ctrl-T] в объект func_wall,
чтобы он не разбивал на доп. полигоны стену, с которой соприкасается.
Никаких параметров для данного func_wall выставлять не нужно.
Теперь перед лампочкой (func_wall) разместим источник света, простой light (смотрите картинку ниже).
А сейчас от вас понадобится умение работы с вершинами объектов. Мы
приступаем к созданию формы вращающихся лучей. Мы будем использовать
стандарную градиентную текстуру FADE2 или FADE, как это мы
делали в материале про создание световых лучей. Важно! Необходимо
правильно наносить текстуры на будущие лучи. Тёмные (чёрные) места
должны находится у краев лучей, а светлые (жёлтые) в середине. Может
быть, вам понадобится изменить масштаб (scale) текстуры, повращать её,
применить различное выравнивание. Должно получиться примерно так:
Небольшой бело-зеленый браш — это ORIGIN-браш (обычный браш,
окрашенный со ВСЕХ сторон спец. текстурой ORIGIN). Он нужен для любого
вращающегося объекта, так как указывает ось вращения (в Учебнике есть
подробный материал о правильном использовании ORIGIN-брашей). Так как у
нас вращающийся свет, то данный браш нужно сделать.
Место размещения ORIGIN-браша очень важно. Так как наши лучи будут
вращаться вдоль стенки, то ORIGIN-браш следует размещать между двумя
лучами — ровно посередине. Для наглядности мы удлиннили ORIGIN-браш по
той оси, вдоль которой будет происходить вращение. На картинках ниже
показаны вид сбоку и спереди.
Следующий важный момент. Превращаем сделанные 2 браша (луча) и ORIGIN-браш в единую энтити func_rotating. Для этого выбираем с зажатой клавишей Ctrl оба луча и ORIGIN-браш. Нажимаем [Ctrl-T] и в списке выбираем func_rotating.
Теперь выставим параметры func_rotating:
Render Mode — Additive (чтобы лучи были прозрачными); FX Amount — 60 (прозрачность лучей, чем больше значение, тем яснее видны лучи. Максимум: 255); Speed — 400 (скорость вращения лучей, можно попробовать разные значения); Остальные параметры пока оставим как есть.
Помимо параметров нужно обязательно выставить некоторые флаги (смотрите картинку ниже).
Start ON — чтобы лучи начали вращаться автоматом в начале раунда; Not Solid — нужно, чтобы игрок мог свободно проходить через лучи. Иначе он будет задевать о них башкой :-) X Axis — здесь определяется ось вращения лучей. Возможные значения: X Axis или Y Axis.
Если оставить эти флаги неотмеченными, то лучи будут крутиться вокруг
вертикальной оси Z, которая на любом виде (кроме 2D top) идёт
снизу-вверх.
Определение оси вращения
Давайте подробнее остановимся на данном очень важном моменте — определение оси вращения.
ORIGIN-браш, включенный в состав объекта func_rotating своим
центром определяет точку в пространстве, вокруг которой крутится
энтити-объект. А сама ось вращения выбирается во флагах: или X, или Y.
Помните, что если флаги не отмечены, кручение будет происходить вокруг
вертикальной оси Z (смотрите две картинки выше).
Лучи готовы. Компилируем, запускаем и видим следующий результат:
Если нужно, чтобы лучи крутились в противоположном направлении, то необходимо отметить флаг Reverse Direction.