Экраны выбора миссии обычно появляются в начале игры, чтобы игроки могли сделать выбор. Иногда экран выбора миссии появляется после краткого ознакомления игроков с правилами и механикой игры.
Выбор миссии запускает игру и переносит игроков в определённое начальное место на острове для выполнения выбранной миссии. На таких экранах могут отображаться статистические данные миссии, информация о типе миссий, доступных игроку, или через на них можно просто перейти к выбранной миссии.
В следующем уроке вы узнаете, как создать экран миссии, с которого игроки могут перейти к выбранной миссии.
1-й шаг: определение стиля выбора миссии
Существует несколько способов создания экрана выбора меню в зависимости от того, какую информацию вы хотите предоставить игрокам. Это может быть описание миссий или изображения текстур уровня миссии. Мы привели примеры и того, и другого, чтобы вы увидели, что можно создать только с помощью материалов, а что — через стратегическое добавление текстур в дизайн.
Текстуры используют много памяти и могут занимать большую часть общей памяти острова.
На этапе разработки советуем сразу определять, какая информация будет отображаться на вашем экране выбора миссии.
2-й шаг: разработка макета
Разработайте макет экрана миссии перед открытием UMG. Любые изменения в дизайне, которые вы сделаете на этом этапе, не являются постоянными и могут быть изменены без нарушения какой-либо функции интерфейса. Макет экрана зависит от того, какую информацию вы хотите добавить.
На данном этапе необходимо принять четыре начальных решения по макету:
Цветовая схема: при использовании цветов в интерфейсе используйте правило 60 / 30 / 10.
Выбор шрифта: в настоящее время есть два варианта шрифта: Burbank и HeadingNow.
Материалы: используйте материалы шаблона функций интерфейса, чтобы придать интерфейсу уникальный вид.
Изображения / Текстуры: текстуры следует использовать для сложных художественных объектов, которые трудно воссоздать с помощью материалов, таких как персонажи или художественные контейнеры.
Правило 60 / 30 / 10 означает, что 60% цвета, используемого в дизайне интерфейса, — это основной цвет, 30% — дополнительный, а 10% — акцентный. Это сделает ваш интерфейс более удобочитаемым и в нём будет проще ориентироваться.
После выбора цветовой схемы создайте материалы и экземпляры материалов для использования в дизайне интерфейса.
В этом примере мы использовали простой дизайн. В верхней части экрана есть призыв к действию: «Выберите миссию», — за которым следуют три изображения с 1-й, 2-й и 3-й миссией, на каждом из которых есть кнопка «НАЧАТЬ».
3-й шаг: разработка макета виджета
В примере макет виджета состоит из 4 основных частей:
Дизайн фона
Дизайн плитки для 1-й миссии
Дизайн плитки для 2-й миссии
Дизайн плитки для 3-й миссии
Чтобы создать виджет с работающими кнопками, нужно использовать виджет варианта модального диалогового окна. Есть специальная модель просмотра, используемая с виджетом варианта модального диалогового окна, которая позволяет привязывать кнопки к устройствам.
Внутри папки создайте виджет варианта модального диалогового окна.
Назовите его Mission_Select_UI.
Дважды нажмите на виджет Mission_Select_UI, чтобы открыть Редактор виджетов.
Дизайн фона
В этом примере при создании фона экрана выбора миссии для добавления цветных блоков в фон использовались материалы, призыв к действию в верхней части экрана и изображение текстуры персонажа.
В Редакторе виджетов выполните следующие действия:
Перетащите виджет наложения с панели Палитра на граф виджета. Этот виджет станет корневым виджетом и будет выступать в качестве экрана, на котором отображается интерфейс.
В графе виджета увеличьте виджет наложения до размера 1920 x 1080.
На панели Иерархия нажмите правой кнопкой мыши на виджет наложения, чтобы открыть контекстное меню. Выберите Переименовать из выпадающего меню и назовите виджет Корневой Этот виджет включает в себя все виджеты, составляющие экран выбора миссии.
Измените значение макета графа на Желаемый. Это позволит задать для интерфейса точный размер для отображения на любом экране.
Вы можете просмотреть, как меняется интерфейс в зависимости от платформы, выбрав экран в выпадающем меню «Размер экрана».
Перетащите панель Наложение с панели Палитра под виджет Корневой и переименуйте её в Родительский контейнер. В этом виджете наложения будут находиться все части экрана выбора миссии.
Этот виджет должен иметь такой же размер, что и корневой виджет.
Измените значения параметров выравнивания для виджета «Родительский контейнер» на «Заполнение по горизонтали» и «Заполнение по вертикали».
Перетащите виджет изображения с панели Палитра на панель Иерархия под виджет Родительский контейнер.
Нажмите правой кнопкой мыши на виджет изображения, чтобы открыть контекстное меню. Выберите Переименовать из выпадающего меню и назовите виджет Цвет фона интерфейса
Выберите виджет Цвет фона интерфейса на панели Иерархия, чтобы открыть его настройки на панели Сведения.
В блоке Ячейка (ячейка наложения) задайте следующие настройки выравнивания:
Выравнивание по горизонтали = Заполнение по горизонтали
Выравнивание по вертикали = Заполнение по вертикали
В блоке Внешний вид выберите материал основного цвета с помощью выпадающего меню Кисть > Изображение. Так виджет изображения примет цвет материала.
Перетащите виджет Панель решётки с панели Палитра в виджет Родительский контейнер и переименуйте его в Тело. Панель решётки выступает в качестве контейнера для всего содержимого интерфейса. Она также добавляет в макет гибкую решётку, которая распределяет дочерние виджеты по строкам и столбцам. В данном примере это содержимое экрана миссии и изображение персонажа.
В блоке Ячейка (ячейка наложения) задайте следующие настройки:
Выравнивание по горизонтали = Выравнивание по центру
Выравнивание по вертикали = Выравнивание по центру
Отступ = 64.0
Перетащите стековое поле в виджет Тело и переименуйте его в Контент. В стековом поле для расположения дочерних виджетов используется выравнивание по горизонтали и вертикали.
Измените настройки выравнивания для виджета Контент на Заполнение по горизонтали и Заполнение по вертикали.
В блоке Поведение измените значение параметра Ориентация на Вертикальная.
Добавление текста выноски
Перетащите виджет Текстовое поле с панели Палитра и вложите его в виджет Контент. Он станет текстом выноски, побуждающим игроков выбрать миссию.
Переименуйте текстовое поле в Выберите миссию.
Выберите виджет Выберите миссию на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка наложения) задайте следующие настройки:
Размер = Автоматический
Выравнивание по горизонтали = Выравнивание по левому краю
Выравнивание по вертикали = Заполнение по вертикали
Нажмите на поле «Текст», удалите текст по умолчанию и введите Выберите миссию.
В блоке Внешний вид задайте следующие настройки:
Цвет и непрозрачность = Шестн. линейное E0137CFF
Семейство шрифта = HeadingNow
Вид шрифта = 86Bold
Размер = 85
Размер контура = 2
Острые углы = Выбрано
Цвет контура = Шестн. линейное FFFFFFFF
Перетащите виджет изображения в виджет Контент и переименуйте его в Разделитель. Этот виджет используется в качестве разделителя для создания пространства между надписью и плитками миссии.
Добавление пространства для плитки миссии
Перетащите виджет наложения в виджет Контент и переименуйте его в Плитки.
Перетащите виджет изображения в виджет Плитки и переименуйте его в TileBG.
Выберите виджет TileBG на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка наложения) задайте следующие настройки:
Выравнивание по горизонтали = Заполнение по горизонтали
Выравнивание по вертикали = Заполнение по вертикали
В блоке Внешний вид задайте следующие настройки.
Кисть > Изображение = Второстепенный материал фона
Размер изображения:
X = 1200
Y = 32.0
Перетащите виджет Стековое поле в виджет Плитки и переименуйте его в Плитки миссии. Это стековое поле будет упорядочивать плитки миссии слева направо.
Макет фона готов. На данном этапе экран выбора миссии будет пустым.
Далее необходимо разместить три плитки выбора миссии в виджете «Стековое поле». Вы также добавите в дизайн текстуру персонажа, чтобы сделать его более интересным с визуальной точки зрения. Дизайн плитки для 1-й миссии
Дизайн плитки миссии может содержать информацию об уровне и целях, а также статистику о целях игрока, и с ее помощью можно даже отслеживать прогресс игрока в достижении этих целей. В этом примере мы использовали для плитки более упрощённый дизайн. В фоновой текстуре содержится представление уровня, номер миссии и кнопка «Начать». Использование серии стековых полей позволяет размещать виджеты слева направо или вверху и внизу. Если вы используете компоновку по вертикали или горизонтали, стековое поле помогает обеспечить единообразный вид вашей компоновки. Для всех трёх плиток миссии используется один и тот же шаблон дизайна. Следуйте указаниям ниже, чтобы создать все три плитки выбора миссии.
Перетащите виджет наложения на панель решётки панели Иерархия и переименуйте его в 1-я миссия. Так вы создадите участок, содержащий все элементы дизайна для плитки «1-я миссия».
Выберите виджет 1-я миссия на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка стекового поля) задайте следующие настройки Отступа:
Слева = 0.0
Сверху = 0.0
Справа = 24.0
Снизу = 0.0
Перетащите виджет изображения на виджет 1-я миссия на панели Иерархия и переименуйте его в Mission1Image. Этот виджет является визуальным представлением 1-й миссии.
Выберите Mission1Image на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка стекового поля) задайте следующие настройки:
Выравнивание по горизонтали = Полностью по горизонтали
Выравнивание по вертикали = Полностью по вертикали
В разделе Внешний вид измените следующие настройки:
Изображение = текстура 1-й миссии
Размер изображения:
X = 256.0
Y = 256.0
Настройка размера изображения обеспечивает ещё один уровень определения дизайна плитки.
Упорядочивание содержимого плитки
Перетащите виджет Стековое поле в виджет 1-я миссия и переименуйте его в M1Content.
Выберите M1Content на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка наложения) измените следующие настройки:
Выравнивание по горизонтали = Выравнивание по центру
Выравнивание по вертикали = Выравнивание по центру
В результате все дочерние виджеты стекового поля выровняются по центру.
В блоке Поведение задайте для параметра Ориентация значение Вертикальная. В результате все дочерние виджеты будут располагаться вертикально.
Перетащите виджет наложения в виджет M1Content и переименуйте его в M1Header. Это наложение выступает в качестве корзины для всех ресурсов заголовка и форматирует их в соответствии с настройками наложения.
Выберите M1Header на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка стекового поля) измените следующие настройки:
Отступы
Слева = 0.0
Сверху = 0.0
Справа = 0.0
Снизу = 128.0
Размер = Автоматический
Выравнивание по горизонтали = Выравнивание по центру
Выравнивание по вертикали = Полностью по вертикали
Уникальные настройки отступа позволяют создать отступ справа от плитки 1-й миссии.
Стилизация текста в плитки миссии
Перетащите виджет изображения в M1Header и измените его имя на M1Stroke.
Выберите M1Stroke на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка наложения) задайте значения выравнивания Полностью по горизонтали и Полностью по вертикали.
В блоке Внешний вид задайте следующие настройки:
Изображение = Материал рассечения
Размер изображения:
X = 200.0
Y = 32.0
Перетащите текстовое поле в виджет M1Header и переименуйте виджет в Mission_1.
Выберите текстовый виджет Mission_1 на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Ячейка (ячейка наложения) задайте следующие настройки выравнивания:
Выравнивание по горизонтали = Выравнивание по центру
Выравнивание по вертикали = Выравнивание поверху
Измените текст на 1-я миссия.
В инструменте Кисть > Изображение откройте палитру и выберите акцентный цвет текста.
Задайте следующие параметры в блоке Шрифт:
Вид шрифта = Жирный
Размер = 25.0
Интервал между символами = 65
Величина наклона = 0.28
В разделе Параметры контура задайте следующие настройки:
Размер контура = 1
Альфа отдельной заливки = Выбрано
Применить контур к тени = Выбрано
Цвет контура = Выберите основной цвет в инструменте «Палитра»
С помощью инструмента Палитра измените цвет тени на основной цвет. Шрифт должен выглядеть слегка трёхмерным и иметь стиль, отличный от текста выноски.
Добавление кнопки «Начать»
Перетащите виджет «Кнопка "Заглушить"» в виджет M1Content и переименуйте его в Start_M1_Button.
Выберите START_M1_Button на панели Иерархия, чтобы открыть её параметры на панели Сведения.
Измените текст кнопки на НАЧАТЬ.
В разделе Ячейка (ячейка стекового поля) задайте для параметра Мин. высота значение 56. Так вы уменьшите высоту кнопки.
Установите флажок для параметра Выбор > Можно выбрать. Так игрок сможет выбрать эту кнопку.
В блоке Ввод задайте следующие настройки:
Метод касания = Вниз
Метод нажатия = Нажатие на кнопку
Повторите описанные выше этапы для создания макетов для 2-й миссии и 3-й миссии.
Прежде чем добавлять плитки 2-й и 3-й миссий, проверьте, чтобы дизайн острова выглядел так, как показано ниже.
После того как все плитки миссии будут готовы, добавьте в дизайн персонажа, чтобы сделать интерфейс более интересным с визуальной точки зрения.
Добавление текстуры персонажа
При добавлении текстуры персонажа в интерфейс извлекаются все цвета, выбранные для дизайна, а визуальный стиль интерфейса становится более интересным. Не забудьте использовать степени двойки и убедитесь, что используемая текстура имеет высокое качество и может масштабироваться до любого размера.
Перетащите виджет изображения в виджет тела и переименуйте его в Персонаж.
Выберите виджет персонажа на панели Иерархия, чтобы открыть его параметры на панели Сведения.
В блоке Внешний вид задайте следующие настройки:
Кисть > Изображение = Текстура персонажа
Размер изображения:
X = 700
Y = 700
В блоке Ячейка (ячейка решётки) задайте следующие настройки:
Выравнивание по горизонтали = Выравнивание по правому краю
Выравнивание по вертикали = Полностью по вертикали
Подталкивание = используйте инструменты для осей X и Y, чтобы точно разместить текстуру персонажа в нужном месте.
По готовности секции миссии можно привязать функции кнопок в интерфейсе.
4-й шаг: добавление модели просмотра
Модель просмотра управляет данными игрока с помощью списка функций и позволяет привязать виджеты UMG к устройствам творческого режима. Есть конкретная модель просмотра, которая работает с кнопками: CreativeModalDialogViewmodel. Эта модель просмотра работает только с виджетом варианта модального диалогового окна и предоставляет множество функций кнопки.
Чтобы использовать модель просмотра, выполните следующие действия:
Откройте меню Окна в строке главного меню.
Выберите Модели просмотра из выпадающего меню. Панель CreativeModalDialogViewmodel автоматически документируется в окне Редактора виджетов.
Все функции кнопки добавлены в виджет. Теперь нужно добавить привязки, чтобы кнопки работали.
5-й шаг: добавление устройств
После настройки областей с миссиями для каждой из них нужно настроить устройство Телепорт, чтобы принимать игрока. Устройство Всплывающее диалоговое окно принимает виджет «Вариант модального диалогового окна» и показывает интерфейс этих виджетов при активации.
Устройство «Всплывающее диалоговое окно»
Начните с добавления в проект устройства «Всплывающее диалоговое окно». Измените его параметры, а затем добавьте в него виджет вариаета модального диалогового окна.
Перетащите устройство Всплывающее диалоговое окно в окно просмотра.
На панели Сведения задайте следующие пользовательские настройки:
Описание = Экран выбора миссии
Автоматическое отображение = Начало игры
Тип отклика = 3 кнопки
Эти параметры идентифицируют виджет, и определяют, когда интерфейс отображается в HUD-интерфейсе, а также количество кнопок, привязанных к виджету.
Задайте следующие параметры в блоке Расширенные настройки:
Кнопка «Назад» по умолчанию = Нет
Текст 1-й кнопки = НАЧАТЬ
Текст 2-й кнопки = НАЧАТЬ
Текст 3-й кнопки = НАЧАТЬ
Скрыть фон = Выбрать
Активно во время фазы = Только игровой процесс
Прокрутите вниз до пункта Модальный виджет > Класс переопределения шаблона и выберите виджет Translation_Select_UI из выпадающего меню.
Прокрутите список вверх до пункта Пользовательские настройки — функции и в блоке Показать откройте Элемент массива.
Добавьте Точку появления 1-го игрока в верхнее поле.
Выберите значение При появлении игрока для функции «Точка появления».
Устройства «Телепорт»
Чтобы сократить время разработки, создайте первое устройство «Телепорт» и измените его настройки, затем скопируйте устройство и разместите дополнительные устройства в соответствующих зонах миссии.
Перетащите устройство Телепорт в окно просмотра.
На панели Сведения в пользовательских настройках снимите флажок с пункта Отображение разлома телепорта и Воспроизвести визуальные эффекты.
Прокрутите вниз до пункта Пользовательские настройки — функции и в блоке Телепорт откройте Элемент массива.
Добавьте Всплывающее диалоговое окно в верхнее поле.
Выберите При нажатии на 1-ю кнопку.
Скопируйте устройство «Телепорт» 2 раза.
В каждой из функций устройства «Пользовательские настройки — функции > Телепорт > Всплывающее диалоговое окно измените функцию на соответствующую кнопку (При срабатывании 2-й кнопки, При срабатывании 3-й кнопки).
Чтобы начать выполнять миссию, игрок должен нажать на кнопку, связанную с зоной миссии, после чего он телепортируется в эту зону. Чтобы создать эту функцию, привяжите функцию кнопки к кнопкам на экране выбора.
6-й шаг: просмотр привязок
Просмотр привязок позволяет добавить логику, которая привязывает функцию виджета к устройству.
В этом примере кнопки привязаны к устройствам Телепорт через функцию «Телепортация». Когда игрок выбирает миссию, нажатие кнопки НАЧАТЬ активирует подключённый телепорт и телепортирует игрока в зону этой миссии.
Все кнопки, добавленные в иерархию, пронумерованы. Это упрощает привязку функции кнопки к устройству.
Чтобы добавить привязки, сделайте следующее:
Выберите Start_Mission_1_Button на панели Иерархия, а затем выберите Просмотр привязок на нижней панели инструментов. Откроется окно «Просмотр привязок» с уже выбранной кнопкой «Без звука».
Выберите +добавить виджет Start_Mission_1_Button. Так вы создадите просмотр привязки.
Выберите левое поле, которое содержит Start_Mission_1_Button, а затем выберите При нажатии > Событие из выпадающего меню. Событие При нажатии будет добавлено к кнопке «Без звука».
Выберите правое поле, а затем выберите CreativeModalDialogViewmodel > Отклик > Выбрать из выпадающего меню. Это позволит добавить функцию Отклик к событию кнопки «При нажатии».
В выпадающем меню Отклик выберите 1-ю кнопку. Теперь функция привязана к первой кнопке «Без звука».
Повторите этапы, описанные выше, чтобы привязать следующие две кнопки.
На данном этапе все кнопки должны быть привязаны к телепортам, а экран выбора миссии должен появляться при появлении игрока в начале игры.
Результат
Последний шаг — это выполнить игровой тест проекта, чтобы убедиться, что интерфейс работает правильно. Запустите сеанс — экран выбора миссии должен появиться после появления игрока на острове, а сам игрок должен телепортироваться в зону миссии, выбранной в интерфейсе.
Самостоятельная работа
Есть несколько способов изменить дизайн экрана выбора миссии, чтобы сделать его уникальным в проекте.
Вы можете заменить текстуру фоновой плитки миссии на материал. Это придаст экрану миссии другой вид.
Вы можете добавить устройство «Управление заданиями», чтобы отслеживать статистику игрока или собранные объекты.
Вы можете добавить устройство «Параметры раунда» для возрождения игроков и возврата к экрану выбора миссии, чтобы игроки могли выбрать другие миссии, которые они ещё не прошли, и сделать выбранные миссии недоступными после успешного прохождения.