Доброго дня! Думаю, играя в игры, вы замечали, например в хорорах, как идя по улице среди фонарей, они начинают моргать. Сегодня посмотрим как можно легко создать мерцающий свет фонаря.
Создаем проект. В Content Browser создаем Actor. Называем его как вам понравится. Заходим в него. Добавляем в DefaultSceneRoot источник света SpotLight(Рис. 1) Компилируем и сохраняем.
Переходим во вкладку событий Event Graph для написания логики мерцания света. Цепочку будем выстраивать из стандартного события Event BeginPlay - событие которое выполняется в начале запуска уровня. Нам понадобятся две переменные типа Float и Integer. Если кто то не знает, то поясняю:
Float - число с плавающей точкой(2.5, 0.05 и т.д);
Integer - целочисленная переменная(2, 3, 5, 10 и т.д).
При помощи плюса во вкладке Variables добавляем 2 переменные(Рис. 2)
Выделяем одну и справа устанавливаем тип переменной (Рис. 3)
Первую переменную с типом Integer называем How many, вторую переменную типа Float называем delay. Компилируем и сохраняем. Теперь справа можно будет указать количество мерцаний и с какой задержкой (Рис. 4)
Добавляем ноду Do N, и подключаем к Event BeginPlay. Выносим нашу переменную How many и подключаем к пину N ноды Do N. Из выходного пина Exit создаем ноду Toggle Visibility для того чтобы наш свет из прожектора был видимым (Рис. 5)
Из выходного пина Toggle Visibility создаем ноду Delay - задержку, и к ней подключаем переменную delay в пин Duration. Выделяем и копируем как на Рис. 6
Скопированные ноды подключаем в пин Completed и из последней ноды Delay протягиваем цепочку обратно во входящий пин Enter ноды Do N (Рис. 7)
Устанавливаем значения 1000 в переменную How many и 0.5 в переменную delay. Компилируем и сохраняем. Выходим из блупринта и добавляем его на нашу карту. Поворачиваем светом вниз чтобы хорошо увидеть наш мерцающий свет (Рис. 8)
Запускаем уровень.
Подпишись Поделись Лайкни