
Спасибо npocTo_LaM за данный метод 😉
Пример использования данных лучей можно просмотреть на карте 35hp_party_2
Для создания крутящихся лучей нам понадобится
- Env_beam(16 шт.)
- Func_train(16 шт.)
- Info_target(1 шт.)
- Path_corner(16 шт.)
- Multi_manager(2 шт)
- Trigger_auto(1 шт.)
Описание работы
Лучи созданы с помощью энтитей 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) Точку начала мы создали. Следующим шагом будет создание путей для лучей. В нашем случае лучи должны крутиться по кругу. Для более правильной установки наших путей, создаем цилиндр. Сам цилиндр нам нужен только сейчас, в самом конце его мы обязательно удалим. На вершины цилиндра будем устанавливать энтить 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 |
Тоесть выходит вечный двигатель.

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 | Делает поезд не материальным |

Выполняем подобную операцию, как с путями(path_corner):


4) Практически все готово для завершения нашего механизма, но где же сами лучи? Мы кадрас-таки подошли к их созданию. Использовать будем env_beam.
Создадим первый env_beam с параметрами:
Параметры:
| Env_beam | Значение | // |
| Start Entity | l_start | Имя мишени(неизменяем) |
| Ending Entity | lt_01 | Конец луча. Указываем на соответствующую мишень-поезд. |
| Brightness | 255 | Яркость(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 | Затемнение вначале луча. Использовать не будем. |
| Fade End | Затемнение на конце луча. |
Расставляем все 16 объектов env_beam напротив каждой мишени, на которую он ссылается. Это для удобства, расставлять их можно в любом порядке.

5) Заключительный этап. Для движения наших лучей нужно активировать все func_train. Будем использовать multi_manager и trigger_auto.
Создаем 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:
Для добавления новых параметров отожмем кнопку 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 |

Автор: Skrip
Карта пример, исходник+тутор в doc:
https://www.dropbox.com/s/1f1g507dvszf8w6/CSM.rar?dl=0





Sorry, the comment form is closed at this time.