Функция Set Tickable When Paused в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В этой статье мы обсудим Blueprint-функцию (метод) Set Tickable When Paused в Unreal Engine (UE4, UE5), устанавливающую правила тикового обновления компонента во время паузы игры.

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

Set Tickable When Paused

Blueprint-функция Set Tickable When Paused в Unreal Engine (UE4, UE5)
Blueprint-функция Set Tickable When Paused в Unreal Engine (UE4, UE5)

Blueprint-функция Set Tickable When Paused в Unreal Engine — метод класса Actor Component, который управляет свойством Tick Even When Paused Blueprint это свойство расположено во вкладке Details / Component Tick / Advanced), определяя, будет ли компонент обновляться (тикать) во время паузы игры.

Функция вызывается как из C++, так и из Blueprints и позволяет компоненту продолжить выполнение логики даже при остановленном времени в игре.

Перевод официальной справки: функция Set Tickable When Paused — устанавливает, может ли этот компонент тикать, когда игра на паузе.

Параметры функции

  • Target (Actor Component) — ссылка на компонент, для которого необходимо установить правила тикового обновления во время паузы игры.
  • Tickable when Paused (bool) — если установлено значение True, то компонент будет тикать, даже если игра стоит на паузе. Если False — при паузе тик будет пропущен.

Как Set Tickable When Paused работает внутри

Кратко рассмотрим, как функция Set Tickable When Paused работает внутри движка Unreal Engine:

  1. Функция очень простая. Она напрямую устанавливает свойство bTickEvenWhenPaused для компонента в структуре PrimaryComponentTick.

* PrimaryComponentTick — это специальная структура в Unreal Engine, которая используется для управления тиками компонента и содержит внутри себя следующую информацию:

  • может ли компонент вообще тикать;
  • когда он будет тикать (в какой группе тиков);
  • как часто (интервал между тиками);
  • есть ли зависимости по тику (должен ли он тикать после другого Актора или компонента).

Смежные функции

  • Event Tick — вызывается каждый кадр, если компонент имеет включённый тик. Используется для логики обновления.
  • Event Async Physics Tick — вызывается при асинхронном физическом тике (если включено).
  • Is Component Tick Enabled — проверяет, включён ли тик компонента.
  • Set Component Tick Enabled — включает или выключает тик компонента.
  • Set Component Tick Interval — задаёт интервал между тиками компонента (в секундах).
  • Set Component Tick Interval And Cooldown — задаёт интервал между тиками компонента (в секундах), а также устанавливает Cooldown для корректной синхронизации.
  • Get Component Tick Interval — возвращает текущий интервал между тиками компонента.
  • Set Tick Group — устанавливает группу тиков, определяя порядок выполнения.

Пример использования функции Set Tickable When Paused

C++


1
2
3
4
5
6
// Где-то в вашем пользовательском компоненте
if (MyComponent && MyComponent->IsComponentTickEnabled()) // Проверяем, существует ли компонент и включен ли его тик
{
    // Разрешаем тикать компоненту даже если игра на паузе. Это значит, что функция Tick() компонента будет вызываться, даже когда игра поставлена на паузу.
    MyComponent->SetTickableWhenPaused(true);
}

Blueprints

Пример работы функции SetTickableWhenPaused в Blueprint
Пример работы функции SetTickableWhenPaused в Blueprint
  1. Событие Key F — отслеживает нажатие клавиши F на клавиатуре.
  2. Функция SetTickableWhenPaused — управляет тем, может ли компонент продолжать вызывать функцию Tick даже когда игра находится на паузе (Paused):
    — параметр Target: указывает на конкретный компонент, для которого нужно изменить поведение тика во время паузы. В данном случае указан компонент AC_MyActorComponent.
    — параметр Tickable when Paused: флаг, который определяет, разрешён ли тик компонента во время паузы. В данном случае, флаг установлен в значение True, а значит компонент будет продолжать вызывать Tick даже при паузе игры.
  3. Логика выполнения:
    — когда пользователь нажимает клавишу F, срабатывает событие Pressed F.
    — после этого вызывается функция SetTickableWhenPaused, которая устанавливает параметр Tickable when Paused для компонента AC_MyActorComponent в значение True (разрешено тикать во время паузы).
  4. Зачем это делается? Этот фрагмент Blueprint позволяет контролировать, должен ли компонент продолжать выполнять свою логику (Tick) даже когда игра находится на паузе. Это может быть полезно для:
    — компонентов, которые должны работать независимо от состояния паузы (например, анимации, таймеры или сетевые обновления).
    — отладки или тестирования поведения компонента во время паузы.

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


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

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

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