Feb 142018
 


Спасибо 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.


Рис. 1 — создание цилиндра.

Всего вершин 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. Последний объект, как выглядит мишень-поезд в разрезе.

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

Рис. 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 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 — Расстановка лучей напротив своей цели.

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  


Рис. 6 — В итоге получаем такую картину:

Автор: Skrip

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

Sorry, the comment form is closed at this time.