UE5 [UMG] — Простое меню пользовательского интерфейса версии 3. Учебные заметки

Адрес кейса: https://www.unrealengine.com/marketplace/zh-CN/product/simple-menu-ui
вставьте сюда описание изображения
Это демо простое и имеет базовую структуру, с которой можно начать обучение

1. Вход в UE5


1) Сначала проверьте Project-Maps&Modes и найдите стандартную карту запуска, GameMode и GameInstance; кроме того, необходимо также проверить настройки ввода.

вставьте сюда описание изображения

2) При запуске программы UE5 по умолчанию запускаются GameInstance, GameMode и default Map;
  • Тогда программа LevelBlueprint на Карте запустится по умолчанию, а в WorldSettings Карты будут также вызваны для запуска привязанные Pawn, HUD, PlayerController....
  • Кроме того, программа GameMode запустит и запустит связанные Pawn, HUD, PlayerController... (обычно выберите место на карте или GameMode для привязки).
  • Есть 2 входа в SimpleMenuUIv3, LevelBlueprint of Level_MainMenu и Blueprint_GameInstance;

Описание GameInstance, GameMode, PlayerController:

  • GameInstance предназначен для установки глобальных переменных или функций для всех GameMode и т. д., понимаемых как высший уровень;
  • GameMode — установить переменную или функцию на определенной Карте или в определенном игровом режиме, а также сделать междоменными все скрипты персонажей в этом режиме;
  • PlayerController — это сценарий персонажа, потому что главный герой игры очень важен, и основан на объектно-ориентированном мышлении. В подобных скриптах часто бывает много функций и переменных этого объекта.
  • GameInstance->GameMode->PlayerController формирует послойную структуру управления.

Подведем итог:

  • Для входа в UE5 необходимо проверить GameInstance (пользовательский), GameMode (пользовательский), LevelBlueprint и найти пользовательский Pawn, HUD, PlayerController и т. д.;
  • Программное мышление UE5 является объектно-ориентированным мышлением, и другие объекты Актера обычно ждут вызова программы входа или других вызовов событий.

2. Blueprint запускает LevelBlueprint


вставьте сюда описание изображения

  • Дело пишет операцию UMG в GameInstance, где получается GameInstance, и запускаются два события LoadSettings и ShowOpeningWidget.

3. Глобальный план Blueprint_GameInstance — UI Open (UI open/start)


1) Несколько ключевых моментов для открытия пользовательского интерфейса: определить, следует ли создавать виджет, Создать виджет, чтобы создать пользовательский интерфейс, ДобавитьToViewport, чтобы добавить область просмотра, Показать курсор мыши, чтобы указать, отображается ли мышь, Установить режим ввода..., чтобы установить режим ввода.
2) Show Opening Widget открывает домашнюю страницу

вставьте сюда описание изображения

  • Определите, отображать ли страницу ожидания Start или страницу главного меню MainMenu в соответствии со значением Bool.
3) Показать стартовый экран, чтобы открыть страницу в режиме ожидания

вставьте сюда описание изображения

  • Если StartScreen пуст, создайте виджет и сохраните, -> Добавить в область просмотра -> Показать курсор мыши -> установите логическое значение; эти шаги являются рутинными операциями UMG.
  • логическое значение, чтобы изменить, следует ли входить на страницу ожидания StartScreen после нажатия Enter или напрямую входить на страницу главного меню MainMenu.
4) Показать главное меню Показать страницу главного меню

вставьте сюда описание изображения

  • Существует 3 типа «Установить режим ввода», «Только пользовательский интерфейс», «Только игра» и «Игра и пользовательский интерфейс»; соответственно, он может управлять только интерфейсом пользовательского интерфейса, только управлять игровым интерфейсом или обоими.

4. Стартовая страница Widget_StartScreen


  • Запустите страницу режима ожидания, нажмите Enter, чтобы войти на страницу меню.
    вставьте сюда описание изображения
  • График виджетов
    вставьте сюда описание изображения
    вставьте сюда описание изображения
1) Анимация:
  • Воспроизведение анимации пользовательского интерфейса, анимация дыхания FadeLoop устанавливается в виджете, вы можете использовать элемент управления анимацией для отладки
    вставьте сюда описание изображения
  • Его нужно добавить в график для воспроизведения:
    вставьте сюда описание изображения
2) Действие ввода: нажмите Enter, чтобы ввести соответствующий

вставьте сюда описание изображения

  • Listen for Input Action — это ответ на ввод, подготовленный для UMG. Его также можно реализовать с помощью InputAction Enter для тестирования, но этот узел предоставляет больше функций. Значение Consume Bool может контролировать, является ли Callback действительным.
    Следующий ответ Enter действителен
    вставьте сюда описание изображения
3) Родительский класс: BaseWidget_AnimatedCanvas
  • Все входы и выходы пользовательского интерфейса в этом случае имеют простую анимацию, поэтому функция абстрагируется в этот родительский класс. Включая анимации Animate_Out и Animate_In 2
  • Как позвонить:
    вставьте сюда описание изображения
  • Когда этот виджет создается в первый раз, он одновременно вызывает Construct родительского класса.
    вставьте сюда описание изображения
  • Как выводить страницы:
    вставьте сюда описание изображения
  • Вызовите событие Remove Widget родительского узла, а затем вызовите событие Show Main Menu экземпляра, событие Remove Widget родительского узла:
    вставьте сюда описание изображения
  • Сначала воспроизведите анимацию Animate Out, а затем после того, как анимация завершит обратный вызов события, Удалить из родительского
    узла Удалить из родительского узла: удалите этот виджет из его родительского узла на уровне пользовательского интерфейса, короче говоря, удалите страницу.
    Объект Create Widget не будет удален, может отображаться только Add to Viewport.

4)Вызов удаления от родителя:

В Animation Finished имеется событие Event Dispatchers под названием «Удалить из родительского
вставьте сюда описание изображения
вызова», которое запускает событие привязки. Но здесь не найдено Привязки, соответствующей Зову, так что, похоже, это не имеет никакого эффекта. Если есть такая программа, то она может ответить на Звонок.
вставьте сюда описание изображения

5. Главная страница Widget_MainMenu


  • страница главного меню
    вставьте сюда описание изображения
1) Текстовая привязка данных экземпляра игры
  • Страница Text связывает данные через Bind, данные поступают из Game Instance -> GameInfo -> *, структура Struct_GameInfo
    вставьте сюда описание изображениявставьте сюда описание изображениявставьте сюда описание изображения
2) Класс кнопки WidgeClass_Button (готовый)
  • Кнопки в MainMenu, используйте класс WidgeClass_Button
    вставьте сюда описание изображениявставьте сюда описание изображения

  • Создайте текст кнопки и 2 переменные цвета, которые отображаются в MainMenu и могут быть установлены
    вставьте сюда описание изображения
    вставьте сюда описание изображения

  • Анимация кнопки, создание анимации TextHover (увеличение), воспроизведение анимации вперед и назад (увеличение и уменьшение) и установка цвета текста

  • настройки по умолчанию
    вставьте сюда описание изображения

  • настройки анимации
    вставьте сюда описание изображения

Инициировать пользовательское событие Call On Click через планировщик событий
вставьте сюда описание изображения

  • С тех пор доступны текст кнопки и другие настройки, настройки анимации и интерфейсы событий нажатия.
3) Вызов при нажатии кнопки обратного вызова
  • В Widget_MainMenu Graph создайте переменную Game Instance и привяжите Event к On Click;
    вставьте сюда описание изображения
  • Привязка обратного вызова, удаление виджета, а затем запуск события «Показать меню одиночной игры» в экземпляре игры.
    вставьте сюда описание изображения

Резюме: Пользовательский интерфейс прост в использовании логики, заходите сюда первым и желаю всем гладкой разработки~

Supongo que te gusta

Origin blog.csdn.net/qq_17523181/article/details/128679332
Recomendado
Clasificación