Создание и Скрипт внутриигрового Меню Pause в UMG UI Designer и Unreal Engine 4

0
98
Создание и Скрипт Меню Pause в UMG UI Designer ue4

Последнее, что мы сделаем, это создадим простое меню паузы, которое позволит игроку сделать паузу или выйти из игры.

Визуальный: Макет Pause Menu

В этом разделе мы создадим визуальный макет нашего основного меню паузы – Pause Menu.

  1. Откройте свой виджет Pause Menu.
  2. На вкладке Designer перетащите виджеты из Палитры в Иерархию, чтобы выполнить настройку ниже.

макет Pause Menu ue4

 

 

 

 

 

 

 

 

 

 

Здесь у нас есть граница, которая содержит вертикальный блок с текстом и две кнопки с текстом на нашей Канве.

3. В окне Designer измените размер границы, чтобы она заполнила все пунктирное окно (заполнение экрана).
Создание и Скрипт Меню Pause в UMG UI Designer ue4

Вы также можете изменить цвет с помощью параметра Brush Color на панели Details.параметр Brush Color ue4

 

 

 

 

 

 

 

 

 

 

 

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

4. Также для Границы на панели Details обязательно используйте заполняющий экран Anchor.

InGame Pause Anchor ue4

 

 

 

 

 

 

 

 

 

Это гарантирует, что Граница заполняет экран независимо от размера экрана.

5. Выберите вертикальную рамку в Иерархии, затем на панели Details расположите ее по горизонтали и вертикали.

Меню Паузы в игре ue4

 

 

 

 

 

 

 

6. Выделите текст под вертикальным полем, затем на панели Details для содержимого введите Pause Menu.

текст Pause Menu ue4

 

 

 

 

 

 

 

7. Введите Resume и Quit для двух других текстовых блоков.

Pause Menu текстовые блоки ue4

 

 

 

 

 

8. Удерживайте Ctrl и выберите обе кнопки в Иерархии, затем на панели Details в разделе Style назначьте цвет для параметра Hovered.

параметр Hovered ue4

 

 

 

 

 

 

 

 

9. Переименуйте Buttons на Resume и Quit соответственно внутри панели Details.

QuitButton Pause menu ue4

 

 

 

 

 

 

 

Скрипт: Функциональность Pause Menu

С установленными визуальными эффектами, далее мы предоставим скриптовую функциональность для нашего Меню Паузы.

  1. Нажмите кнопку Graph в правом верхнем углу окна Widget Blueprint Editor.
  2. На вкладке Graph в окне My Blueprint щелкните кнопку QuitButton, затем на панели Details добавьте событие OnClicked.

Функциональность меню паузы ue4

 

 

 

 

 

 

 

 

3. Также добавьте событие OnClicked для ResumeButton.

4. В окне Graph щелкните правой кнопкой мышки и добавьте узел Get Player Controller.

узел Get Player Controller ue4

 

 

 

 

 

 

 

 

5. Отключите Get Player Controller, используйте Set Input Mode Game Only, снова перетащите с Get Player Controller, используйте Set Show Mouse Cursor и установите его в значение –False, затем Remove from Parent и Set Game Paused, как показано ниже.Pause Menu Functionality_5.5 ue4

При нажатии кнопки Resume режим ввода устанавливается только на игру, а курсор, отображаемый при активизации Меню Паузы, удаляется. Узел Remove from Parent используется для удаления фактического виджета Pause Menu с экрана перед тем, как выходить из состояния паузы с помощью узла Set Game Paused и оставлять выключенным флажок Paused.

6. Создайте новую функцию под названием Remove HUD.

Pause Menu Functionality_5.6 ue4

 

 

 

 

 

 

 

 

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

7. В функции добавьте узел Get Player Character, а в поле Return Value добавьте узел Cast ToFirstPersonCharacter.

Скрипт Pause Menu ue4

 

 

 

 

 

 

Это позволит нам получить доступ к Blueprint Персонажа, который используется игроком, и игровому HUD, который используется этим игроком.

8. Отключите As First Person Character, используйте Get HUD Reference, затем Remove from Parent, как показано ниже.скрипт меню паузы ue4

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

9. На графике событий отключите Get Player Controller, используйте для узла Set Show Mouse Cursor значение –True.скрипт Pause Menu_5.9 ue4

 

 

 

 

При нажатии кнопки Quit включается курсор мышки для навигации по меню при возврате в главное меню.

10. Затем добавьте созданную выше функцию  Remove HUD, затем Open Level (установите Main или дайте уровню то имя, на котором у вас названо главное меню) и подключитесь, как показано здесь.функциональность Pause Menu ue4

Теперь обе кнопки настроены, последнее, что нам нужно сделать, это позволить игроку вызвать Меню Паузы и поставить игру на паузу.

11. В контент браузере в разделе Content/FirstPersonBP/Blueprints откройте FirstPersonCharacter Blueprint.

проект FirstPersonCharacter ue4

 

 

 

 

12. На графике добавьте ключевое событие M и узел Create Widget (установленное на Pause Menu) и добавьте Return Value в переменную.создать виджет Pause Menu ue4

Хотя мы использовали клавишу M в качестве ввода для вызова Меню Паузы, вы можете использовать любую кнопку, какую пожелаете. Для продвигаемой переменной мы назвали нашу переменную Pause Menu Reference, так как она будет хранить ссылку на созданное Pause Menu.

13. Удерживая Ctrl, перетащите переменную из окна MyBlueprint и подключите ее к узлу IsValid.узел IsValid ue4

Мы проверяем, был ли Виджет Меню Паузы создан и сохранен в этой переменной.

14. Подключите пин Is Not Valid к Create PauseMenu_C Widget.

Create PauseMenu_C Widget ue4

 

 

 

 

15. Щелкните правой кнопкой мышки и добавьте узел Get Player Controller, затем – Set Show Mouse Cursor и установите для него значение –True.

16. Снова перетащите курсор из узла Get Player Controller, затем Get Player Controller Set Input Mode UI Only и подключите узлы, как показано ниже.функциональность Pause Menu ue4

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

17. Отключите переменную Pause Menu Reference, используйте узел Add to Viewport, затем – Set Game Paused (установите параметр Paused на –True).переменная Pause Menu Reference ue4

Наше меню паузы настроено, теперь настало время для тестирования.

18. Нажмите кнопку Compile и Save, затем нажмите кнопку Play для воспроизведения в редакторе.

После входа в игру, если вы нажмете кнопку M (или любую назначенную вами кнопку), вы увидите, что игра приостановлена, и появится Меню Паузы. Отсюда вы можете возобновить геймплей с помощью кнопки Resume или вернуться в главное меню с помощью кнопки Quit.

В следующем разделе вы получите дополнительную информацию о работе с Unreal Motion Graphics и Blueprints.

Дополнительная информация

Для получения дополнительной информации по темам, рассматриваемым в данном кратком руководстве, а также по всему редактору, читайте страницу документации Особенности Unreal Engine 4.

Что касается тем, освещенных в данном руководстве:

  • Для получения дополнительной информации о Unreal Motion Graphics прочтите страницу документации: UMG UI Designer.
  • Для получения дополнительной информации о Blueprints прочтите страницу документации: Blueprints Visual Scripting.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: