Функция Set Component Tick Interval (And Cooldown) в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В этой статье мы обсудим 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 (UE4, UE5)
Blueprint-функция Set Component Tick Interval в Unreal Engine (UE4, UE5)

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:

  1. Функция очень простая. Она напрямую устанавливает интервал тика для компонента в структуре 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

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

Set Component Tick Interval And Cooldown

Blueprint-функция SetComponentTickIntervalAndCooldown в Unreal Engine (UE4, UE5)
Blueprint-функция SetComponentTickIntervalAndCooldown в Unreal Engine (UE4, UE5)

Функция Set Component Tick Interval And Cooldown в Unreal Engine полностью аналогична выше рассматриваемой функции SetComponentTickInterval, за исключением того, что изменения вступают в силу немедленно. То есть данный метод устанавливает интервал между тиками (в секундах) и сбрасывает Cooldown, чтобы интервал обновился немедленно, а не после окончания цикла обновления.

Функция используется, если требуется изменить частоту тиков на лету, что, например, сделает компонент более отзывчивым.

* Cooldown (период охлаждения) — это время, которое должно пройти перед следующим выполнением тика, если у компонента задан интервал (TickInterval > 0).

То есть SetComponentTickInterval ждёт, пока закончится предыдущий интервал (если он был установлен), и только после этого вносит изменения, а SetComponentTickIntervalAndCooldown вносит изменения в длительность интервала немедленно. Таким образом, длительность меняется уже у текущего интервала, который находится сейчас в процессе выполнения.

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.


наш Телеграм канал

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.