Гайд по Set Timer By Event / Function Name UE5

Аватар автора
Обзоры и разработка игр. Игровые движки 3D
Таймеры в UE5 управляются через FTimerManager, который является частью UWorld. Каждый World имеет свой TimerManager, он хранит и обновляет все активные таймеры, независимо от игрового времени или паузы (по умолчанию). Так же они обновляется в реальном времени, а не в игровом SetTimerByFunctionName — позволяет запускать вызов функции по её имени через строку. Плюсы: можно легко остановить или очистить таймер через это же имя, даже без сохранённого handle. Минусы: при переименовании функции или ошибке в строке вызов сломается, таймер не найдёт метод и ничего не выполнит. Это делает его уязвимым при рефакторинге. SetTimerByEvent — использует делегаты (FTimerDelegate). Особенность: привязка идёт напрямую к функции через её ссылку, а не через имя. Это надёжнее, так как не зависит от названия. Можно передавать параметры и вызывать разные обработчики без риска потерять связь при переименовании. Handle (FTimerHandle) — это уникальный идентификатор конкретного таймера. Он нужен для управления им: пауза, очистка, перезапуск. В отличие от вызова по имени, handle всегда остаётся корректным для конкретного таймера и безопаснее в долгосрочной работе. Тайм-коды: 0:00 – Вступление 0:43 – Какие бывают таймеры в UE5 1:06 – SetTimerByName: простой вызов 1:12 – SetTimerByEvent: гибкий вариант 1:39 – Маленькая фишка с функциями 2:03 – Минусы SetTimerByName 2:20 – Подробнее про SetTimerByEvent 2:23 – Важные параметры SetTimer 2:51 – Цикличный таймер (Looping) 3:07 – Ограничение Max Once Per...

0/0


0/0

0/0

0/0