Blueprint Lift Tutorial RU



Обзор

Лифты и движущиеся платформы, могут быть неотъемлемой частью перемещения вашего персонажа по уровню, и их легко можно создать объединив Matine и Blueprints. Как и примеры с Spotlight Off Switch и Spotlight Toggle Switch данный пример начинается с Blueprint Third Person. Данная заготовка содержит камеру, персонажа и некоторые основы настройки геометрии в blueprint формате. Вы можете открыть существующие Blueprints, что бы посмотреть как они устроены.

Scene no lift LT.png


Настройка уровня

Что бы показать как это работает, была добавлена StaticMesh платформа с StaticMesh сферой, которая выступает в роли персонажа забравшегося на нее. Class Blueprints идеально подходит для добавления в игру функциональных объектов наподобие этой сферы. Присутствие платформы и сферы не обязательны для работы данного урока - они здесь лишь для примера.

Мы начнем с Blueprint уровня. Все на уровне может ссылаться на Blueprint. Поэтому, нашим первым шагом будет разместить объекты.

1. Из Content Browser на панели Tools выберите StaticMesh Shape_Cube. Перетащите данный StaticMesh на уровень, и разместите его на землю, туда где хотите что бы располагалась платформа. Вы можете изменить размер платформы, что бы на ней было удобно стоять.
Scene liftmesh perspective LT.png
Scene liftmesh top LT.png


2. На панели Details вашего StaticMesh, переименуйте его в "LiftPlatform".
Details liftmesh rename LT.png


3.Так же на панели Details измените значение Mobility вашего StaticMesh на Moveable. Это позволит вашему MatineeActor перемещать платформу.
Details liftmesh mobility LT.png


4. ПКМ на уровне и выберите Add Actor > Trigger > Trigger (Box) для размещения на уровне Trigger (Box). Выровняйте его над вашей LiftPlatform, и подгоните размер под вашу платформу по осям X и Y.

Actor - это объект который может быть размещен или создан на уровне. Lights, TriggerVolumes, StaticMeshes, и Cameras - это все Actors.

Scene trigger perspective LT.png


5. На панели Scene Outliner перетащите TriggerBox во внутрь LiftPlatform так что бы она стала вложена в него. Это присоединит TriggerBox к LiftPlatform, так когда Level Blueprint будет перемещать LiftPlatform, TriggerBox будет перемещаться вместе с ней.
Attach trigger LT.png


6. Используйте меню Window в Level Editor и откройте Class Viewer.
7. Напечатайте Matinee в строке поиска в Class Viewer.
Class viewer matinee LT.png


8. Перетащите MatineeActor на ваш уровень.
Matinee dragdrop LT.png


9. В панели Details переименуйте ваш MatineeActor в "LiftMatinee".
Details matinee rename LT.png


Matinee

Вы будите использовать данный MatineeActor для перемещения вашей платформы в её конечное положение.

1. Нажмите конопку Matinee на панели Level Editor и в появившемся меню выберите LiftMatinee.
Open matinee LT.png


2. В появившемся предупреждении Matinee Undo Warning нажмите Continue.
Matinee undo warning LT.png


Откроется окно Matinee Editor.

Matinee editor LT.png


3. На Timeline Pane ПКМ на Group/Track List.
Right click area LT.png


4. В меню правой кнопки мыши выберите Add New Empty Group.
Add new empty group LT.png


5. В диалоговом окне New Group Name напишите LiftGroup.
New group name LT.png


6. Переключитесь на редактор уровня и выберите LiftPlatform.
7. Вернитесь в Matinee Editor. ПКМ на LiftGroup, затем выберите Actors > Add Selected Actors.
Matinee add selected actor LT.png


8. ПКМ на LiftGroup и выберите Add New Movement Track. Movement track появится ниже группы LiftGroup.
Add new movement track LT.png


9. Click on the Timeline and drag left to move the timeline to the left of the green timeline block.
Matinee shifted track LT.png


Уже есть красный треугольник, который обозначает первый keyframe. Ваша платформа уже находится в её стартовом положении, так что вам не нужно редактировать первый keyframe.

Matinee first keyframe LT.png


10. Нажмите на вертикальную черную полосу находящуюся под вашим первым keyframe и перетащите её направо, примерно в положение 1 секунды.
Drag timeline track LT.png


11. Нажмите Enter для создания вашего конечного keyframe.
12. Переключитесь на редактор уровня.
13. Переместите вашу платформу по вертикали, в её конечное положение. Желтая линия показывает путь по которому будет следовать платформа.
Matinee drag up LT.png


Если вы разместите окно Matinee редактора так, что бы видеть и Matinee редактор и редактор уровня, то вы сможете увидеть передвижение вашей платформы относительно черной вертикальной полоски.

Matinee preview LT.png


• Дважды нажмите Stop что бы остановить проигрывание и переместить Matinee в стартовое положение.
• Используйте Play и Reverse для проигрыша вперед и в обратном направлении вашего Matinee.


Blueprint

На этом мы закончим работу с Matinee и закроем Matinee Editor. Сейчас вы готовы собирать ваш Blueprint.

1. Выберите TriggerBox в Level Editor.
2. Нажмите кнопку Level Blueprint на панели редактора уровня.
3. В окне панели grap ПКМ. В контекстном меня появится панель поиска что бы помочь найти нужный вам вариант.
Trigger overlap 1 LT.png


Мы хотим, что бы что то происходило когда персонаж заходит в Trigger Volume. Overlap определяет когда какой-то Actor пересекает Trigger.

4. В строке поиска напечатайте Overlap.
Trigger overlap 2 LT.png


5. Выберите OnActorBeginOverlap.
Trigger overlap node LT.png


Стоит отметить, что появившийся узел красного цвета. Это значит что он определяет событие Event Node.

6. В редакторе уровня выберите MatineeActor.
7. Вернитесь в Level Blueprint, ПКМ в окне Graph, и выберите Add Reference to LiftMatinee.
Add matinee reference LT.png


Overlap and matinee LT.png


8. Вытяните синюю точку LiftMatinee и в появившемся контекстом меню напишите Play.
Graph added play LT.png


9. Выберите Play в появившемся списке функций Call Function > Matinee.
Graph add play LT.png


10. Соедините output execution узла OnActorBeginOverlap с input execution узла Play.
Graph added play LT.png


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

1. В редакторе уровня выберите ваш TriggerBox.
2. На панели Редактора уровня нажмите кнопку Level Blueprint.
3. ПКМ в окне grap. Появится контекстное меню со строкой поиска.
Trigger overlap 1 LT.png


Сейчас мы хотим, что бы что-нибудь происходило, когда персонаж покидает Trigger Volume. Это так же известно, как overlap ending.

4. В строке поиска наберите Overlap.
Trigger overlap 2 LT.png


5. Выберите Set OnActorEndOverlap.
Added end overlap LT.png


6. Снова перетащите синий значок LiftMatinee. В появившемся контекстном меню напишите Reverse.
Add reverse LT.png


7. Выберите функцию Reverse в Call Function > Matinee.

While the output execution pin of a Node cannot be connected to the input execution pin of two different Nodes, Variables and Actor references can be connected to as many Nodes as needed. You may still want duplicate Variable or Actor reference nodes for clarity in large graphs, but there is not a linear execution system enforced for Variable and Actor references.

8. Соедините значок output execution узла OnActorEndOverlap со значком input execution узла Reverse node.
Lift graph uncommented LT.png


Теперь Blueprint готов к работе. Если вы Compile (скомпилируете) Level Blueprint и запустите игру в окне редактора, и взойдете на платформу, то она начнет подниматься до намеченной конечной точки, а когда сойдете с нее, то начнет двигаться в обратном направлении к стартовой позиции.


Комментарии

Вы можете оставлять комментарии к вашим Blueprint graph, в дальнейшем это облегчит работу так как вы будете знать какой Blueprint за что отвечает.

1. Кликните и растяните выделение, что бы охватить все пять узлов которые вы добавили в Level Blueprint.
Platform selected LT.png


2. ПКМ в окне панели graph и выберите Create Comment from Selection.
Comment 2 LT.png


3. Напишите Lift Mechanism в появившемся поле для комментариев.
Platform name comment LT.png


Вы только что успешно добавили комментарий к вашим узлам.

Final lift bp LT.png


Нажав на окно комментария вы можете перетаскивать все находящиеся в нем узлы в пределах панели Graph. Подпись окна комментарии увеличивается при приближении, что бы вы могли найти Механизм вашего лифта, если его нужно будет отредактировать.