Друзья, приветствую, с Вами Будуев Антон. В этой статье мы обсудим Blueprint-функцию (метод) Set Component Tick Interval (And Cooldown) в Unreal Engine (UE4, UE5), изменяющую интервал тика компонента.
Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.
Set Component Tick Interval

Blueprint-функция Set Component Tick Interval в Unreal Engine — метод класса Actor Component, который предназначен для установки интервала между вызовами функции тика (Tick) компонента. Интервал задаётся в секундах. При этом изменения вступают в силу со следующего тика.
Функция вызывается как из C++, так и из Blueprints и позволяет управлять частотой обновления логики компонента, снижая нагрузку на систему, если постоянные обновления не требуются.
Перевод официальной справки: функция Set Component Tick Interval — устанавливает интервал тика для компонента.
Параметры функции
- Target (Actor Component) — ссылка на компонент, для которого необходимо изменить интервал тика.
- Tick Interval (float) — интервал в секундах между тиками компонента. Значение должно быть больше или равно нулю.
Как Set Component Tick Interval работает внутри
Кратко рассмотрим, как функция SetComponentTickInterval работает внутри движка Unreal Engine:
- Функция очень простая. Она напрямую устанавливает интервал тика для компонента в структуре PrimaryComponentTick.
* PrimaryComponentTick — это специальная структура в Unreal Engine, которая используется для управления тиками компонента и содержит внутри себя следующую информацию:
- может ли компонент вообще тикать;
- когда он будет тикать (в какой группе тиков);
- как часто (интервал между тиками);
- есть ли зависимости по тику (должен ли он тикать после другого Актора или компонента).
Смежные функции
- Event Tick — вызывается каждый кадр, если компонент имеет включённый тик. Используется для логики обновления.
- Event Async Physics Tick — вызывается при асинхронном физическом тике (если включено).
- Is Component Tick Enabled — проверяет, включён ли тик компонента.
- Set Component Tick Enabled — включает или выключает тик компонента.
- Get Component Tick Interval — возвращает текущий интервал между тиками компонента.
- Set Tick Group — устанавливает группу тиков, определяя порядок выполнения.
- Set Tickable When Paused — определяет, должен ли компонент тикать даже когда игра на паузе.
Пример использования функции Set Component Tick Interval
C++
1
2
3
4
5
6 // Предположим, что MyComponent — это указатель на UActorComponent
if (MyComponent)
{
// Устанавливаем интервал тика в 0.25 секунды
MyComponent->SetComponentTickInterval(0.25f);
}
Blueprints

- Событие Pressed (нажатие клавиши):
— это событие отслеживает нажатие клавиш на клавиатуре;
— в данном случае событие срабатывает при нажатии клавиши F. - Функция SetComponentTickInterval:
— функция изменяет интервал между вызовами события Tick для выбранного компонента;
— интервал задаётся параметром Tick interval. В данном случае он установлен в 0.1 секунды. - Параметр Target:
— указывает на компонент, для которого нужно изменить интервал тика;
— в данном случае указан пользовательский компонент AC_MyActorComponent. - Логика выполнения:
— когда пользователь нажимает клавишу F, срабатывает событие Pressed;
— после этого вызывается функция SetComponentTickInterval, которая изменяет интервал тика для компонента AC_MyActorComponent на 0.1 секунды. - Зачем это делается:
— изменение интервала тика позволяет контролировать частоту вызова события Event Tick для компонента AC_MyActorComponent;
— частота 0.1 секунды означает, что Tick будет вызываться 10 раз в секунду для указанного компонента.
Set Component Tick Interval And Cooldown

Функция Set Component Tick Interval And Cooldown в Unreal Engine полностью аналогична выше рассматриваемой функции SetComponentTickInterval, за исключением того, что изменения вступают в силу немедленно. То есть данный метод устанавливает интервал между тиками (в секундах) и сбрасывает Cooldown, чтобы интервал обновился немедленно, а не после окончания цикла обновления.
Функция используется, если требуется изменить частоту тиков на лету, что, например, сделает компонент более отзывчивым.
* Cooldown (период охлаждения) — это время, которое должно пройти перед следующим выполнением тика, если у компонента задан интервал (TickInterval > 0).
То есть SetComponentTickInterval ждёт, пока закончится предыдущий интервал (если он был установлен), и только после этого вносит изменения, а SetComponentTickIntervalAndCooldown вносит изменения в длительность интервала немедленно. Таким образом, длительность меняется уже у текущего интервала, который находится сейчас в процессе выполнения.
Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.