1. Основы UMG: Создание визуального макета и иерархии виджетов
Основы UMG: Создание визуального макета и иерархии виджетов
Добро пожаловать в курс «Создание главного меню в Unreal Engine на Blueprints». Это первая статья, в которой мы заложим фундамент вашего будущего интерфейса. Прежде чем мы начнем писать логику и заставлять кнопки работать, нам необходимо создать визуальную оболочку — то, что игрок увидит при запуске игры.
В Unreal Engine за создание пользовательских интерфейсов (UI) отвечает система UMG (Unreal Motion Graphics). Это мощный инструмент, который позволяет визуально конструировать меню, HUD (Heads-Up Display) и другие элементы интерфейса, а затем оживлять их с помощью Blueprints.
Что такое Widget Blueprint?
В основе любого интерфейса в UMG лежит Widget Blueprint. Это специальный тип ассета, который сочетает в себе две сущности:
В этой статье мы сосредоточимся на вкладке Designer.
Создание первого виджета
Начнем с практики. Чтобы создать меню, нам нужен пустой виджет.
WBP_MainMenu.> Использование префикса WBP_ (Widget Blueprint) — это стандарт именования в Unreal Engine. Это помогает быстро находить нужные файлы в поиске и понимать тип ассета с первого взгляда.
Интерфейс редактора UMG
Дважды кликните по созданному файлу WBP_MainMenu. Перед вами откроется редактор виджетов. Давайте разберем его основные области.
!Основные зоны редактора UMG: Палитра, Иерархия, Дизайнер и Детали.
1. Palette (Палитра)
Находится слева. Здесь содержится список всех доступных элементов (виджетов), которые вы можете использовать: кнопки, текст, изображения, прогресс-бары и контейнеры. Вы просто перетаскиваете их отсюда на рабочую область.2. Hierarchy (Иерархия)
Находится под палитрой. Это древовидная структура вашего интерфейса. В UMG действует правило вложенности: одни виджеты могут быть родителями для других. Например, текст может лежать внутри кнопки, а кнопка — внутри вертикального списка.3. Designer (Дизайнер)
Центральная область. Это ваш холст. Здесь вы видите, как будет выглядеть меню. Вы можете перемещать элементы, менять их размер и визуально оценивать результат.4. Details (Детали)
Находится справа. Здесь настраиваются свойства выделенного виджета: цвет, шрифт, прозрачность, привязки (Anchors) и события.Основы верстки: Панели и Контейнеры
Главная ошибка новичков — просто накидать кнопки на экран. Чтобы меню корректно отображалось на разных мониторах (от квадратных офисных дисплеев до ультрашироких игровых), нужно использовать контейнеры.
Canvas Panel (Холст)
Это корневой элемент большинства виджетов. Он позволяет размещать элементы в произвольных местах. Однако, если вы просто бросите кнопку в угол Canvas Panel, при изменении разрешения экрана она может «уехать» или исчезнуть.Vertical Box и Horizontal Box
Это ваши лучшие друзья для создания списков.* Vertical Box: Автоматически выстраивает вложенные элементы в столбик (сверху вниз). * Horizontal Box: Выстраивает элементы в строку (слева направо).
Использование этих боксов избавляет вас от необходимости вручную выравнивать каждую кнопку по пикселям.
Магия Якорей (Anchors)
Это самая важная концепция для адаптивного интерфейса. Anchors (Якоря) определяют точку отсчета для положения виджета.
По умолчанию якорь находится в левом верхнем углу . Если вы поместите кнопку в правый нижний угол экрана, но оставите якорь слева сверху, то при увеличении разрешения экрана кнопка останется привязанной к левому верху и окажется где-то в середине огромного монитора.
Как использовать якоря:
Практика: Создаем структуру Главного меню
Давайте соберем простой, но правильный макет.
Шаг 1: Фон
img_Background.Шаг 2: Контейнер для кнопок
vb_Buttons.Шаг 3: Добавление кнопок
vb_Buttons.btn_StartGame.btn_StartGame.Повторите шаг 3, чтобы создать кнопки «Настройки» (btn_Settings) и «Выход» (btn_Quit).
Шаг 4: Настройка отступов
Сейчас кнопки слиплись друг с другом. Чтобы это исправить:btn_StartGame.Иерархия и порядок отрисовки (Z-Order)
В UMG порядок отрисовки зависит от порядка в иерархии (Hierarchy). То, что находится ниже в списке, рисуется поверх остальных элементов.
Если вы случайно поместите img_Background ниже, чем vb_Buttons в списке иерархии, то фон перекроет ваши кнопки, и нажать на них будет невозможно. Всегда следите, чтобы фон был самым первым (верхним) элементом в списке детей Canvas Panel.
Заключение
Поздравляю! Вы создали визуальный макет главного меню. Он адаптивен, структурирован и готов к программированию. Мы изучили: * Как создавать Widget Blueprint. * Зачем нужны контейнеры Vertical Box. * Как работают якоря (Anchors). * Как настраивать иерархию виджетов.
В следующей статье мы перейдем в режим Graph и оживим эти кнопки, заставив их переключать уровни и закрывать игру.
> Для более глубокого изучения свойств виджетов вы можете обратиться к официальной документации Unreal Engine по UMG.