Unreal Engine Activate / Deactivate — активация и деактивация компонентов

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим Blueprint-функции Activate, Deactivate, Is Active, Set Active и Toggle Active, отвечающие в Unreal Engine (UE4, UE5) за активацию / деактивацию компонентов.

При разборе данных функций мы будем использовать шаблон проекта игры от третьего лица игрового движка Анрил Энджин (UE5), а конкретно блюпринт BP_ThirdPersonCharacter по пути /All/Game/ThirdPerson/Blueprints.

Поскольку обсуждаемые функции доступны в классе Актор-компонента, я рекомендую вам предварительно ознакомиться с концепцией компонентов в Unreal Engine, а также с самим классом Actor Component.

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

Unreal Engine Activate / Deactivate

Функции Activate и Deactivate в Unreal EngineВ Unreal Engine функция Activate используется для включения или активации компонентов, которые были созданы неактивными или деактивированы ранее. То есть она устанавливает компонент в активное состояние. Активация компонента обычно означает, что он начинает выполнять свой логический функционал.

Вообще функции активации / деактивации часто используют для компонентов движения персонажа, чтобы на некоторое время деактивировать движение, забрав управление персонажем у игрока. Чтобы затем вновь активировать его, следуя определённой игровой логике.

Данная функция работает с компонентами класса Actor Component, а значит, и со всеми другими компонентами, так как класс Актор-компонент является базовым классом вообще для любых других классов компонентов.

Activation / Auto Activate - опция автоактивации в меню DetailsНо важно отметить, что для работы этой функции у компонента в целом должна быть опция активации в меню Details (не у всех она имеется).

Функция Deactivate, наоборот, деактивирует компонент, выключая работу его логики.

Перейдём к практике и попробуем работу функций Activate и Deactivate на персонаже Blueprint-класса BP_ThirdPersonCharacter. Разместим в нём событие Key F, срабатывающее при нажатии на клавишу F, и далее поочерёдно с помощью ноды Flip Flop будем вызывать функции Activate и Deactivate для компонента движения Character Movement. Причём первой вызовем Deactivate, так как Character Movement по умолчанию активирован.

Итак, при старте игры персонаж при помощи Character Movement может двигаться, бегать и прыгать. Но следует только нажать на F в первый раз, так компонент Character Movement деактивируется функцией Deactivate, и персонаж остановится. В моём примере при прыжке персонажа я нажал на F, и персонаж просто повис в воздухе, так как компонент движения Character Movement был деактивирован и, следовательно, логика гравитации была остановлена. Далее при повторном нажатии на F сработает функция Activate, и логика компонента движения опять активируется. Персонаж упадёт на пол.

Скриншот

Практический урок в Unreal Engine: активация и деактивация компонента движения персонажа Character Movement функциями Activate и Deactivate
Практический урок в Unreal Engine: активация и деактивация компонента движения персонажа Character Movement функциями Activate и Deactivate

Код на BlueprintUE

Если код отображается без связей, нажмите сверху кода на кнопку «Graph» Если код отображается без связей, нажмите сверху кода на кнопку "Graph"


Is Active

Функция Is ActiveФункция Is Active в Анрил Энджин возвращает информацию о том, активирован или нет текущий компонент. Соответственно, если она возвращает значение True, значит компонент активирован, если False — деактивирован.

В практическом примере выше как раз с помощью функции Is Active и выводится информация об активации компонента Character Movement. Данный код я также расположил в персонаже BP_ThirdPersonCharacter.

Скриншот

Выводим информацию об активации компонента Character Movement функцией Is Active
Выводим информацию об активации компонента Character Movement функцией Is Active

Код на BlueprintUE

Если код отображается без связей, нажмите сверху кода на кнопку «Graph» Если код отображается без связей, нажмите сверху кода на кнопку "Graph"


Set Active

Функция Set ActiveФункция Set Active является Blueprint аналогом опции Auto Activate в меню Details настроек компонента, позволяя лишь одним своим параметром New Active активировать или деактивировать компонент. По своей сути она заменяет функции Activate и Deactivate.

Вышеприведенный практический пример также можно было бы реализовать через Set Active. Установив её параметр New Active в False при деактивации компонента движения Character Movement и в значение True — при его активации.

Скриншот

Активируем и деактивируем компонент движения персонажа Character Movement функцией Set Active
Активируем и деактивируем компонент движения персонажа Character Movement функцией Set Active

Код на BlueprintUE

Если код отображается без связей, нажмите сверху кода на кнопку «Graph» Если код отображается без связей, нажмите сверху кода на кнопку "Graph"


Toggle Active

Функция Toggle Active

Функция Toggle Active в Unreal Engine (UE4, UE5) фактически является переключателем активированности компонента. То есть при каждом новом её вызове она будет производить противоположное предыдущей операции действие. Если в предыдущий её вызов она активировала компонент, то в текущем вызове она его деактивирует. И, соответственно, при следующем вызове вновь опять активирует.

Код вышеприведённой практики с использованием функции Toggle Active примет более простой вид, так как уже не потребуется использовать переключатель Flip Flop, да и активировать/деактивировать компонент уже можно будет не двумя функциями, а только одной — Toggle Active.

Скриншот

Активируем и деактивируем компонент движения персонажа Character Movement функцией Toggle Active
Активируем и деактивируем компонент движения персонажа Character Movement функцией Toggle Active

Код на BlueprintUE

Если код отображается без связей, нажмите сверху кода на кнопку «Graph» Если код отображается без связей, нажмите сверху кода на кнопку "Graph"


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

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

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