Не уверен что в 5-той версии будут работать те же ноды, по этому сразу оговорюсь что изучаю UE на версии 4.27.2. И это брошюрка для данной версии, но сия новость обновляемая так что при нахождении дополнительных вариантов сделать цикл с задержкой обязательно обновлю данный пост.
Данные примеры на решении задачи с мигающей лампочкой в курсе разработчика игр Unreal Engine 4.27.
Навигация по брошюре:
— Делаем через Timer с проверкой
— Делаем через стандартный цикл Do N
— Создаем модифицированный цикл ForLoop
Делаем через Timer by Event
В данной сборке Экшен Event Begin Play Срабатывает при старте уровня, Нода Set Time By Event установлена в режим цикла (looping) в нее передается параметр задержки срабатывания. Далее из временной ноды создается новый Ивент (Custom Event) который я сразу пустил на проверку условий выполнения срабатывания. Для того чтобы при установке в параметрах на количество срабатываний 0, лампочка не загоралась. Ну и само выполнение включения и выключения я сделал через ноду Flip flop, которая при каждом обращении к ней переключает ветки выполнения. Flip Flop можно смело заменить на Toggle Visibility и ничего не изменится.
В условии выполнения цикла финальное число мерцаний я умножаю на 2 потому что считается каждое срабатывание тика, включилась лампочка (+1), выключилась еще (+1). Если не нужно выключение или сами решить хотите, удалите ноду Int * Int.
Делаем через стандартный цикл Do N
Нода Do N - указывает количество повторений.
Нода Toggle - управляет параметром Visibility источника света в Акторе
Нода Delay - Задержка между миганиями
p.s. Нода Do N сама себя не вызывает, это самая частая ошибка ее использования, эта нода ограничивает количество раз которое вызовут её.
Создадим новый макрос цикла с задержкой (Delay)
p.s. Если нужен итог, промотайте ниже до заголовка Итоговый макрос цикла с задержкой.
1. Правой кнопкой в контент браузере Blueprints > Blueprint Macro Library
2. Копируем всю логику из стандартного макроса цикла, и ставим Delay после проверки Branch