Вызов Событий через Sequencer в Unreal Engine 4

0
8
Вызов Событий через Sequencer в Unreal Engine 4

При воспроизведении в кинематографе через Секвенсор могут быть случаи, когда вам захочется запустить Event (событие), которое запускает некоторые скриптовые функции. Возможно, в определенный момент в вашем видео вы захотите, чтобы дверь открылась, появился эффект частиц или каким-то образом воздействовал на Игрока. С помощью Event Track (трека событий) вы можете набрать точный кадр в кинематографическом кадре, который вы хотите, чтобы ваше событие вызывалось. Затем вы можете использовать Director Class Blueprint для предоставления скриптового функционала, который вы пожелаете использовать с Event Endpoint (конечной точкой события).

В данном руководстве мы используем Event Track (трек событий), чтобы напечатать на экране текст, указывающий на то, что наш персонаж мертв. В то же время мы отключаем движение игрока и симулируем физику персонажа.

Шаги

В данном руководстве мы используем проект Blueprint Third Person Template.
  1. На главной панели инструментов нажмите на Cinematics и выберите Add Level Sequence с любым именем и сохраните местоположение.Add Level Sequence ue4
  2. На панели Details для Level Sequence включите опцию Auto Play.опция Auto Play ue4
  3. Выберите ThirdPersonCharacter на уровне, а затем добавьте его к Sequencer через кнопку + Track.New Event Track_03 ue4
  4. Кликните правой кнопкой мышки по ThirdPersonCharacter на уровне, а затем выберите Edit ThirdPersonCharacterNew Event Track_04 ue4Внутри Third Person Character Blueprint мы добавим пользовательское событие (Custom Event), которое будет вызываться из Sequencer.
  5. Правым кликом на Event Graph совершите поиск и добавьте Custom Event. New Event Track_05 ue4
  6. Вызовите пользовательское событие KillPlayerText и подключите узел Print String с текстом Kill My Player! как строку.New Event Track_06 ue4

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

7. Внутри Sequencer кликните на значок + Track прямо на треке  ThirdPersonCharacter и выберите Event. New Event Track_07 ue4

8. Переместите временную шкалу на кадр 60, затем нажмите значок + для дорожки событий Events, чтобы добавить ключ события – Event Key.New Event Track_08 ue4

9. Правой кнопкой мышки кликните по ключевому кадру, далее внутри раздела Properties кликните на Unbound и выберите Create New Endpoint. New Event Track_09 ue4

Далее вы получите новый Director Class Blueprint. Вызов Событий через Sequencer в Unreal Engine 4

Внутри Director Blueprint вы можете предоставить скриптовый функционал, который вы хотите использовать для данной цели (или целей). Вы также можете использовать Blueprint Director для вызова Интерфейса Blueprint, который реализуют другие Blueprints и, в свою очередь, выполняют при получении вызова.

Пожалуйста, ознакомьтесь с Обзором Дорожки Событий для получения дополнительной информации.

10. На панели My Blueprint измените имя функции на PrintKillPlayer и отключите пин Target и вызовите Kill Player Text. New Event Track_10 ue4

Этот пример нацелен на Blueprint ThirdPersonCharacter. Мы также можем изменить тип Target, что даст нам доступ к функциям, связанным с указанным типом этой цели.

11. Внутри Sequencer для трека ThirdPersonCharacter добавьте CharacterMesh0.New Event Track_11 ue4

12. Для CharacterMesh0 нажмите кнопку + Track и добавьте дорожку Event.New Event Track_12 ue4

13. Добавьте ключ на кадре 60 для дорожки Events и кликните по нему правой кнопкой мышки, затем внутри раздела Properites > Create Quick Binding выберите SetAllBodiesSimulatePhysicsNew Event Track_13 ue4

Поскольку привязка объекта для этого трека событий является компонентом Скелетной Меши, теперь у нас есть доступ к Quick Bindings (быстрым привязкам), связанным с скелетными мешами. Выбор этой функции автоматически добавит узел к конечной точке события и откроет график.

14. Установите New Simulate, затем добавьте узел Set Collision Enabled с включенным параметром Collision (Query and Physics) в качестве New Type. New Event Track_14 ue4

Это проинструктирует скелетную сетку имитировать физику и включит столкновение, чтобы она не проваливалась сквозь пол.

15. Внутри Секвенсора кликните на значок + Track для ThirdPersonCharacter и добавьте дорожку CharMoveComp.

New Event Track_15 ue4

16. Добавьте дорожку события Event для CharMoveComp и ключ события в кадре 60 с быстрой привязкой Quick Binding для вызова DisableMovement.New Event Track_16 ue4

Здесь мы нацеливаемся на Character Movement Component (Компонент Движения Персонажа) и используем Событие – Event, чтобы отключить возможность передвижения, пока персонаж симулирует физику.

17. Нажмите на кнопку Play, чтобы включить воспроизведение в редакторе.

Конечный результат

Когда вы воспроизводите игру в редакторе, через несколько секунд в левом верхнем углу окна появится текст, и персонаж упадет на землю с отключенной способностью двигаться.

Добавление дорожки события Event Track к объекту в Sequencer создает привязку объекта, где вы можете вызывать события, функции или обращаться к свойствам объекта, к которому вы привязаны. Треки Событий также можно использовать для выполнения скрипта в Level Blueprint, UI Widget Blueprints или для взаимодействия с несколькими Blueprints через Интерфейс Blueprint.

Пожалуйста, ознакомьтесь с Обзором Дорожки Событий для получения дополнительной информации.