Крутящиеся лучи

Материал из CSM Wiki
Перейти к навигации Перейти к поиску
Итоговый результат

Используемые энтити

Для создания крутящихся лучей нам понадобится:

Описание метода

Лучи созданы с помощью энтитей env_beam. Начальной точкой лучей будет энтить info_target, а конечными func_train. Поезд двигается по путям из path_corner. Но для движения поезда и соответственно лучей, требуется активировать func_train’ы. Для данной цели будем использовать multi_manager, в котором прописаны имена мишеней-поездов. А для того, чтобы наш механизм работал сам по себе, создадим trigger_auto с таргетом на multi_manager. Все очень просто.

Подробное описание

Расшифровка сокращений в Name/Target

l_start Laser Start
lp_01 Laser Path_нумерация
lt_01 Laser Train_нумерация
l_start_mm Laser Start MultiManager

Создание механизма

1. Первым делом создадим энтить info_target. Именно она послужит точкой выхода лучей(начало). Параметры:

Info_target Значение
Name l_start

2. Точку начала мы создали. Следующим шагом будет создание путей для лучей. В нашем случае лучи должны крутиться по кругу. Для более правильной установки наших путей, создаем цилиндр. Сам цилиндр нам нужен только сейчас, в самом конце его мы обязательно удалим.

Рис. 1 — создание цилиндра. На вершины цилиндра будем устанавливать path_corner

Всего вершин 16, соответственно, я хочу задействовать их всех. Создаем первый path_corner с параметрами:
Параметры:

Path_corner Значение //
Name lp_01 Имя энтити
Next Stop target lp_02 Имя след. path_corner

Соответственно, следующий path_corner будет иметь такие параметры:

Path_corner Значение
Name lp_02
Next Stop target lp_03

В итоге 16 объектов path_corner. Последний path_corner имеет следующие параметры:

Path_corner Значение
Name lp_16
Next Stop target lp_01

То есть выходит вечный двигатель.

Рис. 2 — расстановка path_corner на вершины цилиндра


3. Пустим по уже созданным путям наш поезд. Он служит в качестве мишени, мы будем использовать его, для указания конца луча. Первым делом создаем браш с размерами 16x16x16 юнитов, покроем текстурой null. В центре нашего браша создадим еще один с размерами 8x8x8, наложим текстуру origin. Выделяем два созданных браша, превращаем(Ctrl+T) в энтить(сущность) func_train с параметрами:

Func_train Значение //
Name lt_01 Имя мишени
Render Mode Normal Режим отображения
FX Ammount 0 Прозрачность. Полностью прозрачный
First stop target lp_01 Имя соотв. Path_corner.
Speed 256 Скорость. Юниты/с.
Sound volume 0.00001
Flags //
Not solid Делает поезд не материальным
Рис. 3 — Первая мишень func_train. Последний объект, как выглядит мишень-поезд в разрезе
Рис. 4 — Расстановка func_train напротив path_corner
Рис. 4.1 — Промежуточный рисунок. Внимание на имена func_train’ов

4. Практически все готово для завершения нашего механизма, но где же сами лучи? Мы как раз-таки подошли к их созданию. Использовать будем env_beam. Создадим первый env_beam с параметрами:

Env_beam Значение //
Start Entity l_start Имя мишени(неизменяем)
Ending Entity lt_01 Конец луча. Указываем на соответствующую мишень-поезд.
Brightness 256 Яркость(0-255). Яркий.
Beam Color 0 170 0 Цвет лучей. RGB. Цвет каждого луча ничем не ограничивается.
Life 0 Жизнь луча в с.. 0 – бесконечное множество времени.
Width of beam(pixels*0.1) 0-255 20 Ширина луча. Пиксели*0.1. В нашем случае выйдет 2 пикселя.
Amount of noise 0 Уровень искривления луча (0 - 255).
Damage 0 Урон в секунду
Flags //
Start on Включен в начале раунда(не обязательно, т.к. имени у луча нету, соответственно, он уже включен.)
Fade Start Затемнение в начале луча. Использовать не будем.
Рис. 5 — Расстановка лучей напротив своей цели

Заключительный этап. Для движения наших лучей нужно активировать все func_train. Будем использовать multi_manager и trigger_auto. Создаем trigger_auto с параметрами:

Значение //
Start Entity l_start_mm Имя multi_manager’а
Trigger State on Состояние триггера
Flags //
Remove on fire Галочку убрать. Уничтожить объект t_a на все раунды.

Следующий шаг: Создадим 2 multi_manager’а с параметрами: Параметры 1-го mm: Для добавления новых параметров отожмем кнопку SmartEdit

Multi_manager Значение //
targetname l_start_mm Имя multi_manager’а
lt_01 0 Активация объекта через время.
lt_02 0
lt_03 0
lt_04 0
lt_05 0
lt_06 0
lt_07 0
lt_08 0

Параметры 2-го mm:

Рис. 6 — Итоговая схема

Для добавления новых параметров отожмем кнопку SmartEdit

Multi_manager Значение //
targetname l_start_mm Имя multi_manager’а
lt_09 0 Активация объекта через время.
lt_10 0
lt_11 0
lt_12 0
lt_13 0
lt_14 0
lt_15 0
lt_16 0

Видео и исходник

Автор выложил видео на YouTube[1], исходник карты доступен в DropBox[2]


Метод предложил: npocTo_LaM
Автор статьи: Chakki Skrip

Дата: 04.02.2018