Blueprint Lift Tutorial RU
Обзор
Лифты и движущиеся платформы, могут быть неотъемлемой частью перемещения вашего персонажа по уровню, и их легко можно создать объединив Matine и Blueprints. Как и примеры с Spotlight Off Switch и Spotlight Toggle Switch данный пример начинается с Blueprint Third Person. Данная заготовка содержит камеру, персонажа и некоторые основы настройки геометрии в blueprint формате. Вы можете открыть существующие Blueprints, что бы посмотреть как они устроены.
Настройка уровня
Что бы показать как это работает, была добавлена StaticMesh платформа с StaticMesh сферой, которая выступает в роли персонажа забравшегося на нее. Class Blueprints идеально подходит для добавления в игру функциональных объектов наподобие этой сферы. Присутствие платформы и сферы не обязательны для работы данного урока - они здесь лишь для примера.
Мы начнем с Blueprint уровня. Все на уровне может ссылаться на Blueprint. Поэтому, нашим первым шагом будет разместить объекты.
- 1. Из Content Browser на панели Tools выберите StaticMesh Shape_Cube. Перетащите данный StaticMesh на уровень, и разместите его на землю, туда где хотите что бы располагалась платформа. Вы можете изменить размер платформы, что бы на ней было удобно стоять.
- 2. На панели Details вашего StaticMesh, переименуйте его в "LiftPlatform".
- 3.Так же на панели Details измените значение Mobility вашего StaticMesh на Moveable. Это позволит вашему MatineeActor перемещать платформу.
- 4. ПКМ на уровне и выберите Add Actor > Trigger > Trigger (Box) для размещения на уровне Trigger (Box). Выровняйте его над вашей LiftPlatform, и подгоните размер под вашу платформу по осям X и Y.
Actor - это объект который может быть размещен или создан на уровне. Lights, TriggerVolumes, StaticMeshes, и Cameras - это все Actors.
- 5. На панели Scene Outliner перетащите TriggerBox во внутрь LiftPlatform так что бы она стала вложена в него. Это присоединит TriggerBox к LiftPlatform, так когда Level Blueprint будет перемещать LiftPlatform, TriggerBox будет перемещаться вместе с ней.
- 6. Используйте меню Window в Level Editor и откройте Class Viewer.
- 7. Напечатайте Matinee в строке поиска в Class Viewer.
- 8. Перетащите MatineeActor на ваш уровень.
- 9. В панели Details переименуйте ваш MatineeActor в "LiftMatinee".
Matinee
Вы будите использовать данный MatineeActor для перемещения вашей платформы в её конечное положение.
- 1. Нажмите конопку Matinee на панели Level Editor и в появившемся меню выберите LiftMatinee.
- 2. В появившемся предупреждении Matinee Undo Warning нажмите Continue.
Откроется окно Matinee Editor.
- 3. На Timeline Pane ПКМ на Group/Track List.
- 4. В меню правой кнопки мыши выберите Add New Empty Group.
- 5. В диалоговом окне New Group Name напишите LiftGroup.
- 6. Переключитесь на редактор уровня и выберите LiftPlatform.
- 7. Вернитесь в Matinee Editor. ПКМ на LiftGroup, затем выберите Actors > Add Selected Actors.
- 8. ПКМ на LiftGroup и выберите Add New Movement Track. Movement track появится ниже группы LiftGroup.
- 9. Click on the Timeline and drag left to move the timeline to the left of the green timeline block.
Уже есть красный треугольник, который обозначает первый keyframe. Ваша платформа уже находится в её стартовом положении, так что вам не нужно редактировать первый keyframe.
- 10. Нажмите на вертикальную черную полосу находящуюся под вашим первым keyframe и перетащите её направо, примерно в положение 1 секунды.
- 11. Нажмите Enter для создания вашего конечного keyframe.
- 12. Переключитесь на редактор уровня.
- 13. Переместите вашу платформу по вертикали, в её конечное положение. Желтая линия показывает путь по которому будет следовать платформа.
Если вы разместите окно Matinee редактора так, что бы видеть и Matinee редактор и редактор уровня, то вы сможете увидеть передвижение вашей платформы относительно черной вертикальной полоски.
- • Дважды нажмите Stop что бы остановить проигрывание и переместить Matinee в стартовое положение.
- • Используйте Play и Reverse для проигрыша вперед и в обратном направлении вашего Matinee.
Blueprint
На этом мы закончим работу с Matinee и закроем Matinee Editor. Сейчас вы готовы собирать ваш Blueprint.
- 1. Выберите TriggerBox в Level Editor.
- 2. Нажмите кнопку Level Blueprint на панели редактора уровня.
- 3. В окне панели grap ПКМ. В контекстном меня появится панель поиска что бы помочь найти нужный вам вариант.
Мы хотим, что бы что то происходило когда персонаж заходит в Trigger Volume. Overlap определяет когда какой-то Actor пересекает Trigger.
- 4. В строке поиска напечатайте Overlap.
- 5. Выберите OnActorBeginOverlap.
Стоит отметить, что появившийся узел красного цвета. Это значит что он определяет событие Event Node.
- 6. В редакторе уровня выберите MatineeActor.
- 7. Вернитесь в Level Blueprint, ПКМ в окне Graph, и выберите Add Reference to LiftMatinee.
- 8. Вытяните синюю точку LiftMatinee и в появившемся контекстом меню напишите Play.
- 9. Выберите Play в появившемся списке функций Call Function > Matinee.
- 10. Соедините output execution узла OnActorBeginOverlap с input execution узла Play.
Вы создали лифт который будет подниматься когда вы встаете на него и пересекаете TriggerVolume. Для полной функциональности и многоразового использования лифта, вы должны установить MatineeActor в обратном направлении, когда вы покидаете TriggerVolume.
- 1. В редакторе уровня выберите ваш TriggerBox.
- 2. На панели Редактора уровня нажмите кнопку Level Blueprint.
- 3. ПКМ в окне grap. Появится контекстное меню со строкой поиска.
Сейчас мы хотим, что бы что-нибудь происходило, когда персонаж покидает Trigger Volume. Это так же известно, как overlap ending.
- 4. В строке поиска наберите Overlap.
- 5. Выберите Set OnActorEndOverlap.
- 6. Снова перетащите синий значок LiftMatinee. В появившемся контекстном меню напишите Reverse.
- 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.
Теперь Blueprint готов к работе. Если вы Compile (скомпилируете) Level Blueprint и запустите игру в окне редактора, и взойдете на платформу, то она начнет подниматься до намеченной конечной точки, а когда сойдете с нее, то начнет двигаться в обратном направлении к стартовой позиции.
Комментарии
Вы можете оставлять комментарии к вашим Blueprint graph, в дальнейшем это облегчит работу так как вы будете знать какой Blueprint за что отвечает.
- 1. Кликните и растяните выделение, что бы охватить все пять узлов которые вы добавили в Level Blueprint.
- 2. ПКМ в окне панели graph и выберите Create Comment from Selection.
- 3. Напишите Lift Mechanism в появившемся поле для комментариев.
Вы только что успешно добавили комментарий к вашим узлам.
Нажав на окно комментария вы можете перетаскивать все находящиеся в нем узлы в пределах панели Graph. Подпись окна комментарии увеличивается при приближении, что бы вы могли найти Механизм вашего лифта, если его нужно будет отредактировать.