Как открыть details в unreal engine 4
Перейти к содержимому

Как открыть details в unreal engine 4

  • автор:

Details Panel

Open this panel to display properties and customized editing tools for selected Actors in the Level Editor.

Choose your operating system:
Related Courses

Your First Hour with Unreal Engine

Introducing Unreal Engine

Unreal Engine Editor Fundamentals
On this page

  • Actor Names
  • Search Filter
  • Favorites
  • Default Values
  • Edit Conditions
  • EditConst Properties
  • Property Controls
  • Categories
    • Advanced Properties
    • Custom Categories

    The Details panel contains information, utilities, and functions specific to the current selection in the viewport. It contains transform edit boxes for moving, rotating, and scaling Actors, displays all of the editable properties for the selected Actors, and provides quick access to additional editing functionality depending on the types of Actors selected in the viewport. For instance, selected Actors can be exported to FBX and converted to another compatible type. The Details panel also allows you to view the Materials used by the selected Actors, if any, and quickly open them for editing.

    Level Editor Details Panel

    For more information about the Details Panel UI, see Details Panel UI .

    Actor Names

    You can set friendly names for Actors directly in the editor. These names can be used to access related Actors or find them using the search functionality in the World Outliner panel .

    To edit the Actor Name, simply type the name into the text box at the top of the Details panel.

    Actor Name Field

    Search Filter

    The properties displayed within the Details panel can be filtered using the Search Details box. As you type, the properties are automatically filtered to display only those properties matching the text.

    Properties filtered

    To clear the filter, click the

    Clear Search

    button on the right of the Search box.

    Because this text box data hides properties that do not match the search criteria, check to make sure it is cleared if you do not see the property you are looking for.

    Favorites

    This option is currently considered experimental and some features may not work as expected.

    If there are properties within an Actor that you frequently change or want quick access to, you can use the Favorites property to flag them so they appear at the top of the Details panel.

    Favorites.png

    Above, we checked two options as Favorites , indicated by the star icon next to their property name.

    To enable Favorites:

    Main Menu Bar

    Main Menu Bar

    Experimental.png

    Under Experimental , check the Enable Details Panel Favorites option.

    You may need to restart the editor for the changes to be applied.

    To mark a Property as a Favorite:

    ClickFavorite.png

      With the option enabled, click the star icon next to a property in any Details panel.

    Some properties may not offer the ability to favorite them, due to the complexity of their customization.

    MarkedFavorites.png

    1. The property (along with any other marked favorites) is listed under the Favorites section of the panel.

    Default Values

    When a property is modified to a value other than its default value, an indicator is displayed.

    Property not set to default

    Reset all properties to their default values by clicking the

    Reset to Default

    indicator and choosing to reset the value from the menu.

    Reset to Default Menu

    The value of the property is reset to the default value as shown in the menu and the indicator is no longer present.

    Property set to default

    Edit Conditions

    Properties can be either be enabled or disabled. A property can only be edited when it is enabled. By default, all properties are enabled unless they have an edit condition. Properties with an edit condition rely on the value of another variable to determine if they are enabled and can be edited.

    In some cases, edit conditions are used to determine whether the property will override some other value or if it has any affect at all. Other times, certain properties may simply not make sense unless some condition is met. For example, you may have a group of properties that pertain to indirect lighting and a bool property that globally toggles whether indirect lighting is enabled or disabled. Each property in the group could be conditional on the global toggle so they are only enabled when indirect lighting is being used.

    A property with a simple edit condition will be displayed with a checkbox in the left margin. When the checkbox is toggled on, the property is enabled. When not checked, the property is disabled and grayed out.

    EditConsition Properties

    EditConst Properties

    Properties declared as editconst , which cannot be modified in the editor, display their values and are highlighted to indicate they cannot be edited.

    EditConst Property

    Property Controls

    Many properties are displayed in the Details panel using familiar editing widgets. Other types use customized widgets to provide a more intuitive experience when modifying their values.

    Как открыть детали в Unreal Engine 4

    khokku.ru

    Unreal Engine 4 (UE4) — это мощная многоплатформенная игровая платформа, которая используется для разработки реалистичных компьютерных игр, виртуальной реальности и анимации. Одной из важных функций UE4 является возможность использования details, которые помогают разработчикам создавать и редактировать свойства объектов и сцен в игре.

    Детали являются элементами пользовательского интерфейса, которые содержат информацию о выбранном объекте или элементе сцены. Они предоставляют доступ к различным настройкам и параметрам объектов, таким как положение, размер, материалы и другие свойства.

    Чтобы открыть details в Unreal Engine 4, необходимо выбрать объект или элемент сцены, на котором вы хотите произвести изменения. Затем щелкните правой кнопкой мыши на выбранном объекте и выберите «Открыть details» из контекстного меню. В результате откроется панель details, где вы сможете видеть и изменять все свойства выбранного элемента.

    Панель details предоставляет широкие возможности для редактирования свойств объектов и элементов сцены. Вы можете изменять значения параметров, выбирать или создавать текстуры и материалы, настраивать освещение и многое другое. Для навигации по панели используйте различные вкладки, которые содержат группы свойств в соответствии с их типом или функциональностью.

    Overall, использование details в Unreal Engine 4 является важной частью процесса разработки игр и создания виртуальных миров. Эта функция позволяет разработчикам полностью контролировать и настраивать свойства и параметры объектов, чтобы создавать уникальные и привлекательные игровые сцены.

    Как открыть details в Unreal Engine 4: обзор и инструкция

    Unreal Engine 4 – один из самых мощных и популярных игровых движков, который позволяет разработчикам создавать удивительные игры, включая впечатляющую графику, обширные миры и захватывающие сюжеты. Для работы с игровым движком важно знать некоторые основные функции, включая, например, открытие details (деталей) – окна, которое предоставляет информацию о выбранном объекте или акторе в сцене.

    Открытие details в Unreal Engine 4 может быть полезно при работе с объектами, чтобы просмотреть и изменить их свойства, настройки и параметры. В этой инструкции мы рассмотрим, как открыть details в Unreal Engine 4.

    Шаг 1: Выделение объекта или актора

    Первым шагом для открытия details в Unreal Engine 4 является выделение объекта или актора, информацию о котором вы хотите просмотреть и изменить. Для этого:

    1. Откройте сцену, в которой находится нужный вам объект или актор.
    2. Выберите нужный объект или актор, щелкнув на нем мышью.

    Шаг 2: Открытие details

    После выделения объекта или актора вы можете открыть details, чтобы просмотреть более подробную информацию о нем и внести необходимые изменения. Для этого:

    1. Щелкните правой кнопкой мыши на выбранном объекте или акторе.
    2. В контекстном меню выберите пункт «Edit Details».

    После выполнения этих шагов в Unreal Engine 4 откроется окно details, в котором вы сможете увидеть свойства, параметры и настройки выбранного объекта или актора, а также вносить необходимые изменения.

    Используя функцию открытия details в Unreal Engine 4, вы можете легко и удобно работать с объектами и акторами в вашей игре. Получая доступ к свойствам и параметрам выбранного элемента, вы сможете настраивать его поведение и внешний вид в соответствии со своими потребностями и предпочтениями, делая игровой процесс качественнее и более интересным.

    Установка Unreal Engine 4

    Установка Unreal Engine 4 может быть выполнена следующими шагами:

    1. Перейдите на официальный сайт. Для начала установки необходимо перейти на официальный сайт Unreal Engine 4 по адресу www.unrealengine.com.
    2. Создайте аккаунт Epic Games. Для использования Unreal Engine 4 вам понадобится аккаунт Epic Games. Если у вас уже есть аккаунт, просто авторизуйтесь на сайте. В противном случае, создайте новый аккаунт, заполнив регистрационную форму.
    3. Загрузите Epic Games Launcher. После успешного входа в систему на сайте Epic Games, необходимо загрузить и установить Epic Games Launcher. Эта программа служит центром управления играми и движками Epic, включая Unreal Engine 4.
    4. Установите Unreal Engine 4. После установки и запуска Epic Games Launcher, найдите вкладку «Магазин» и найдите Unreal Engine 4 в списке доступных продуктов. Нажмите на кнопку «Установить», чтобы начать загрузку и установку Unreal Engine 4 на ваш компьютер.
    5. Запустите Unreal Engine 4. После завершения установки, вы сможете начать использование Unreal Engine 4. Запустите приложение из Epic Games Launcher, выбрав его в списке установленных программ.

    Теперь вы готовы начать создавать удивительные игры и визуализации с помощью Unreal Engine 4!

    Запуск Unreal Engine 4

    Unreal Engine 4 — это мощный движок для создания видеоигр, который разработан компанией Epic Games. Чтобы запустить Unreal Engine 4, следуйте инструкциям ниже:

    1. Перейдите на официальный сайт Unreal Engine и нажмите на кнопку «Get Unreal».
    2. Зарегистрируйтесь на сайте Unreal Engine, если у вас еще нет аккаунта. Если у вас уже есть аккаунт, войдите в систему.
    3. Выберите подходящую для вас версию Unreal Engine 4 и нажмите «Download».
    4. Установите программу, следуя инструкциям инсталлятора. Убедитесь, что ваш компьютер соответствует минимальным требованиям системы для работы Unreal Engine 4.
    5. После установки запустите Unreal Engine 4, выбрав его из списка программ на вашем компьютере.
    6. После запуска Unreal Engine 4, вы увидите приветственный экран с возможностью создания нового проекта или открытия уже существующего.

    Теперь вы готовы начать работу с Unreal Engine 4 и создавать потрясающие игры или визуализации!

    Создание нового проекта

    Для того чтобы начать работу с Unreal Engine 4, необходимо создать новый проект. В данном разделе мы рассмотрим основные этапы создания проекта в движке.

    1. Запустите Unreal Engine 4 и откройте вкладку «Projects».
    2. Нажмите на кнопку «New Project».
    3. Выберите шаблон проекта. В Unreal Engine 4 представлены различные готовые шаблоны, которые помогут вам начать разработку с разных точек. Вы можете выбрать шаблон, соответствующий вашим потребностям, например, «First Person Shooter» или «Third Person Action».
    4. Выберите расположение и имя проекта. Укажите путь, где будет создан ваш проект, и введите его название.
    5. Укажите уровень подробностей (Detail Level). Вы можете выбрать один из трех уровней подробности: low, medium, high. Это позволяет настроить уровень качества графики и производительности проекта.
    6. Нажмите кнопку «Create Project».

    После завершения этих шагов вам потребуется некоторое время для создания проекта. Зависимость от мощности вашего компьютера, этот процесс может занять некоторое время.

    Поздравляю! Вы создали новый проект в Unreal Engine 4. Теперь вы можете начать работу над своей игрой или приложением, используя все возможности, предоставляемые движком.

    Открытие окна «Details»

    В Unreal Engine 4 у окна «Details» есть ключевая роль при работе со сценой и объектами. В этом окне можно настраивать различные параметры объектов, изменять их свойства и компоненты.

    Чтобы открыть окно «Details», выполните следующие шаги:

    1. Выберите объект, для которого вы хотите открыть окно «Details». Это может быть любой объект в вашей сцене — активный объект, выбранный в режиме редактирования или выбранный в режиме просмотра.
    2. Щелкните правой кнопкой мыши на выбранном объекте, чтобы открыть контекстное меню.
    3. В контекстном меню выберите опцию «Details».
    4. После этого окно «Details» откроется слева от вашего рабочего пространства.

    После открытия окна «Details» вы увидите список доступных свойств и компонентов, которые можно настроить для выбранного объекта. В зависимости от типа объекта, список будет различаться, и вы увидите только те опции, которые применимы к данному объекту.

    Вы можете изменять значения свойств и компонентов прямо в окне «Details». Введите нужные значения, выберите опции из выпадающих списков, задайте соответствующую настройку и т. д. После того, как вы внесете изменения, они будут применены к выбранному объекту.

    Также окно «Details» предоставляет информацию о выбранном объекте, например, его положение в пространстве, размеры, привязки, связи с другими объектами и т. д. Эта информация может быть полезна при настройке и разработке сцены.

    Закрыть окно «Details» можно, щелкнув на крестик в его верхнем правом углу или нажав клавишу «Esc».

    Открытие окна «Details» в Unreal Engine 4 позволяет детально настроить параметры объектов и компонентов, а также получить полезную информацию о выбранном объекте. Окно «Details» является важным инструментом при работе с редактированием сцены и объектов в Unreal Engine 4.

    Использование окна «Details»

    Окно «Details» в Unreal Engine 4 предоставляет доступ к подробной информации о выбранных объектах в сцене. Это одно из наиболее полезных окон редактора, которое позволяет настроить различные параметры и свойства объектов.

    В окне «Details» можно изменять следующие параметры:

    • Позицию и размер объекта в сцене.
    • Значение и тип материала объекта.
    • Свойства физической симуляции для объекта.
    • События и скрипты, связанные с объектом.
    • Различные настройки отображения и взаимодействия с объектом.

    Окно «Details» состоит из нескольких разделов и подразделов, объединенных вкладками. Каждая вкладка представляет собой набор настроек для конкретного аспекта объекта или его компонентов.

    Вы можете выбрать объект в сцене, щелкнув на нем правой кнопкой мыши, и выбрав «Edit» в контекстном меню. После этого окно «Details» автоматически откроется и отобразит параметры выбранного объекта.

    Для изменения значения параметра достаточно щелкнуть на поле, содержащем значение, и ввести новое значение или выбрать его из списка доступных опций.

    Окно «Details» также позволяет работать с компонентами объекта. Доступ к компонентам можно получить, раскрыв вкладку «Components» в окне «Details». Здесь вы можете добавлять, удалять и изменять компоненты для объекта.

    Использование окна «Details» позволяет настроить объекты в Unreal Engine 4 с большой гибкостью и точно управлять их поведением и внешним видом.

    Настройка параметров объекта

    Когда вы открываете объект в Unreal Engine 4 и переходите в режим деталей (details), у вас есть возможность настроить различные параметры объекта. В этом разделе мы рассмотрим различные настройки, которые вы можете производить в режиме деталей.

    Основные параметры

    • Название — здесь вы можете изменить название объекта. Название важно для лучшего понимания структуры и организации вашего проекта.
    • Видимость — при помощи этой настройки вы можете скрыть или показать объект в игровом мире. Если объект скрыт, он не будет отображаться при игре или рендеринге.
    • Теги — теги могут использоваться для классификации и организации объектов. Вы можете добавить один или несколько тегов к объекту для упрощения его поиска.
    • Коментарии — в этом поле вы можете добавить комментарий или описание к объекту. Это может быть полезно для прокомментирования определенных параметров или исправления для других членов команды, работающих над проектом.

    Параметры отображения

    • Режим отображения — здесь вы можете выбрать режим отображения объекта. Например, вы можете выбрать, показывать ли объект только в полноэкранном режиме или всегда в нескольких окнах.
    • Цвет — эта настройка позволяет вам изменить цвет объекта в режиме редактирования. Это может быть полезно для визуальной организации и отличия от других объектов.
    • Показать в списках уровня — если вы хотите, чтобы этот объект отображался в списке уровней, убедитесь, что эта опция включена.

    Размер и положение

    • Масштаб — этот параметр позволяет вам изменять масштаб объекта. Вы можете увеличивать или уменьшать его размеры для достижения нужного эффекта.
    • Позиция — здесь вы можете изменять координаты объекта в трехмерном пространстве. Это позволяет вам перемещать объект и определять его расположение в игровом мире.
    • Поворот — этот параметр позволяет вам вращать объект вокруг его осей. Вы можете изменять угол поворота по оси X, Y и Z для создания нужной ориентации объекта.

    Это всего лишь некоторые из параметров, которые вы можете настраивать в режиме деталей Unreal Engine 4. Комбинация этих параметров позволяет вам адаптировать и настроить объект таким образом, как вам нужно. Помните, что каждый объект может иметь различные параметры в зависимости от его типа и спецификаций.

    Сохранение изменений

    После того, как вы внесли требуемые изменения в детали в Unreal Engine 4, вы можете сохранить их, чтобы они применились к вашему проекту. Сохранение изменений обычно выполняется в несколько этапов:

    1. Шаг 1: Выберите объект деталей, который вы хотите сохранить.
    2. Шаг 2: Щелкните правой кнопкой мыши на объекте и выберите «Save» в контекстном меню.
    3. Шаг 3: В появившемся окне выберите место сохранения объекта и введите имя файла.
    4. Шаг 4: Нажмите кнопку «Save», чтобы сохранить изменения.

    После сохранения изменений объект деталей будет доступен для использования в вашем проекте и сохранится даже при закрытии Unreal Engine 4.

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

    Вопрос-ответ

    Что такое details в Unreal Engine 4?

    Details (подробности) в Unreal Engine 4 — это окно редактора, которое позволяет открыть и настроить все свойства выбранного объекта или актера.

    Как открыть details в Unreal Engine 4?

    Есть несколько способов открыть details в Unreal Engine 4. Вы можете щелкнуть правой кнопкой мыши на выбранном объекте или актере и выбрать пункт «Details». Также вы можете нажать клавишу F4 или перейти во вкладку «Window» (Окно) в главном меню и выбрать «Details».

    Какие настройки доступны в окне details в Unreal Engine 4?

    В окне details в Unreal Engine 4 вы можете настраивать различные параметры объекта или актера, такие как положение, размер, материалы, коллизию, анимацию и многое другое. Вы также можете добавлять и настраивать компоненты и взаимодействия объекта или актера.

    UEngine.Ru

    Панель Details содержит информацию, утилиты и функции специфичные для выбранного объекта во вьюпорте. Также содержит ячейки для указания данных для: перемещения, вращения и масштабирования выбранных объектов, также обеспечивает быстрый доступ к дополнительным параметрам в зависимости от типа выбранного объекта. К примеру, выбранный объект можно экспортировать в формате FBX и конвертировать в другой совместимый формат. Также панель Details позволяет вам просмотреть используемый на объекте материал, если такой имеется, и быстро открыть его для редактирования.

    Больше информации о панели смотри тут Details смотрите Details Panel UI.

    Название объекта

    Объекты могут иметь понятные названия устанавливаемые непосредственно в редакторе. Имена можно использовать чтобы вызвать эти объекты или найти их используя поисковую строку на панели World Outliner.

    Чтобы изменить имя объекта, просто введите его название в текстовую строку сверху на панели Details.

    Панель Details в unreal engine 4

    Поиск параметров

    Параметры отображаемые на панели Details можно отфильтровать используя поисковую строку. Одновременно с тем, как вы вводите текст, параметры объекта автоматически фильтруются в соответствии с вашим текстом.

    Панель Details в unreal engine 4

    Панель Details в unreal engine 4

    Чтобы сбросить фильтр нажмите на крестик в поисковой строке.

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

    Значения по умолчанию

    Панель Details в unreal engine 4

    Когда свойство изменяется на значение, отличное от значения по умолчанию — отображается индикатор.

    Панель Details в unreal engine 4

    Все настройки могут быть легко сброшены в свои значения по умолчанию путём нажатия по значку
    и выбрав для сброса значения из меню.

    Панель Details в unreal engine 4

    Значения настроек сброшено в дефолтное значение, как показано в меню, и больше не отображается.

    Панель Details в unreal engine 4

    Состояние

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

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

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

    Панель Details в unreal engine 4

    Заблокированные параметры

    Панель Details в unreal engine 4

    Свойства объявленные как EditConst, которые не могут быть изменены в редакторе, отображают свои значения и освещены серым для отображения того, что их нельзя изменить.

    Прочие параметры

    Большинство стандартных типов свойств отображаются на панели Details используя знакомые виджеты редактирования. Другие типы используют настраиваемые виджеты чтобы предоставить более интуитивный опыт при изменении их значений.

    Категории

    Свойства на панели Display отображаются в категориях. Как правило, это категории — Rendering, Lighting, Collision и т.д — они определяют как свойство определяются в коде, и используется в качестве средства организации связанных с ним свойств на группы. Другие категории, которые вы видите на панели Details — Transform, Static Mesh, Materials, Actor, Code View, Layers — настраиваемые виджеты разработаны, чтобы выставить определенные свойства или функциональные возможности на видном месте, что упрощает их нахождение и использование.

    Дополнительные параметры

    Панель Details в unreal engine 4

    Некоторые свойства объявлены как расширенные и убраны по умолчанию с панели Details. Категории, которые содержат дополнительные свойства имеют кнопку
    . Нажатие на которую отобразит дополнительные свойства.

    Как открыть details в unreal engine 4

    Как сделать простое «главное меню» для игры в Unreal Engine 4. Часть 1

    Этот туториал – моя первая «статья» по Unreal Engine 4. Сам я относительно недавно начал осваивать данный движок и разработку игр в общем и сейчас работаю над созданием более-менее простой игры. Недавно закончил базовую версию меню для своего проекта и решил описать свой опыт в этой статье.

    Данная статья не требует каких-либо специальных навыков и вам нужно лишь установить сам движок. Я буду использовать последнюю на сей день стабильную версию: 4.16.2.

    Что мы будем делать?

    Это меню я сделал для игры над которой сейчас работаю. В результате туториала мы сделаем нечто похожее. (Сама игра не включена в туториал).

    1. Главное меню – первый экран игры (данная статья).
    2. Меню «паузы» – то же самое меню, но с дополнительной кнопкой «Продолжить».
    3. Анимации и плавные переходы при открытии/закрытии меню.

    0. Создаём проект

    Возьмём за основу шаблон для First Person Shooter. Вы можете взять любой другой или вообще ипользовать пустой (Blank) шаблон – для данной статьи это не имеет значения.

    Я буду использовать Blueprint-шаблон, т.к. в любом случае меню удобнее создавать через UMG виджеты и визуальные скрипты, а работать с UMG из C++ не очень удобно (впрочем, зависит от сложности и предпочтений – в упомянутом мной выше проекте я использую смешанный подход).

    После запуска Unreal Engine вы увидите экран создания проекта:

    image

    Выбираем New Project -> Blueprint -> First Person .
    Вводим путь для сохранения проекта и имя проекта, нажимаем Create Project .

    После запуска Unreal Engine вы увидите примерно следующее:

    image

    Вы можете сразу же нажать Play , если интересно, что из себя представляет шаблон FPS-игры.

    1. Главное меню – первый экран игры

    Самый простой способ сделать главное меню – создать новый пустой уровень для меню и запускать игру именно с него.

    Итак, создадим новый уровень!

    Слева в Content Browser открываем папку Maps

    image

    Здесь на пустом месте вызываем контекстное меню и выбираем пункт Level

    image

    Назовём новый уровень MainMenu .

    Делаем двойной клик на уровне и видим, что уровень представляет из себя ничего – просто чёрный viewport.

    image

    В данном случае, именно ничего нам и нужно!

    В Content Browser возвращаемся на уровень выше и через то же контекстное меню создаём New Folder , называем его UI .

    Открываем папку UI , через контекстное меню создаём новый виджет: Widget Blueprint

    image

    Назовём его снова оригинально: MainMenu . Открываем виджет двойным кликом и видим следующий экран. По-дефолту он открывается в новом окне, но вы можете перетащить вкладку в основное окно или просто развернуть его на весь экран.

    image

    В правом верхнем углу вьюпорта есть настройки отображения (влияют только на то, как вы видите виджет в редакторе, но не в игре). Для себя я поставлю разрешение 1080p и отцентрирую вьюпорт, чтобы всю полезную площадь занимал сам виджет

    image

    Из панели Palette слева перетащим на основное поле элемент Text и введём туда какую-нибудь строку. Для автоматической установки размеров элемента в соответствии с текстом отметим опцию Size To Content .

    И нажмём кнопку Save в панели инструментов.
    UE4 любит неожиданно вылетать, а в случае вылета все несохранённые изменения вы потеряете.

    image

    Добавленный текст будет названием нашей игры. С помощью «ромашки» отцентрируем его по-горизонтали и на высоте 20% от верхнего края экрана. «Ромашка» позволяет выравнивать виджеты и привязывать их к нужным точкам, очень удобно при необходимости делать интерфейсы, которые будут работать на разных разрешениях экрана.

    Если вы не видите «ромашку» – выберите наш текстовый элемент, кликнув на него левой кнопкой мыши.

    image

    Справа, в панели Details , опции Position X и Y определяют расположение элемента относительно точки привязки (центр «Ромашки») и считаются в соответствии со значениями опции Alignment , которая задаёт точку самого элемента в значениях от 0.0 до 1.0 .

    Например, значение X 0.5 Y 0.0 задаёт точку посередине элемента по-горизонтали и на верхней границе элемента по вертикали.

    К слову, управлять «ромашкой» можно через опцию Anchors .

    В этой же панели Details установим размер шрифта побольше, например 60 единиц.

    Создание самого меню

    Для меню UE4 предлагает удобный элемент Vertical Box – он позволяет автоматически выравнивать несколько дочерних элементов; в нашем случае это будут кнопки ( Button ).

    Vertical Box можно найти в панели Palette , в разделе Panel .

    image

    Установим для него точку привязки примерно посередине экрана, можно чуть выше.

    Внутрь Vertical Box поместите элемент Button , а внутрь Button – элемент Text . Слева, в Hierarchy , можно проверить, что всё расположено правильно. Если нет, то там же можно переместить элементы, чтобы получилась нужная вложенность.

    image

    Цвета в UE4 в основном задаются четырьмя переменными типа float (RGBA: red, green, blue, alpha), каждое значение может быть от 0.0 до 1.0 .
    Сделаем фон кнопки прозрачным, выставив значение alpha в ноль в параметре Background color. Не забудьте предварительно выделить именно кнопку, а не текстовый элемент внутри неё.

    image

    У текстового элемента можно поставить размер шрифта побольше, например, 35 единиц. А сам текст поменяйте на » Начать Игру «.
    Картинку, как это сделать, вставлять не буду, изменение размера шрифта мы уже проходили чуть ранее, при добавлении заголовка.

    Добавим ещё несколько кнопок. Для этого в панели Hierarchy вызовите контекстное меню на элементе Button , выберите пункт Copy (либо нажмите Ctrl+C / ⌘+C ), затем выберите Vertical Box и вставьте скопированную кнопку 3 раза.

    Поменяем текст у новых кнопок: » Настройки «, » Выход «, » Продолжить «. Последняя расположена нелогично и надо бы поместить её на самый верх. Для этого выберем кнопку и воспользуемся кнопками перемещения, которые у нас есть благодаря Vertical Box .

    На данном этапе меню должно выглядеть примерно так:

    image

    Отображение меню в игре

    Теперь сделаем, чтобы созданный виджет отображался при запуске нашего уровня MainMenu .

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

    image

    В верхней панели инструментов нажмём кнопку Blueprints и в появившемся меню выберем Open Level Blueprint . Откроется редактор блюпринтов, в котором можно создавать обработчики различных событий и вообще писать логику игры (не конкретно в блюпринте уровня, но в таком же интерфейсе).

    image

    Blueprints – мощный язык программирования, несмотря на то, что здесь вы не пишете код, а составляете его из блоков (нод). «Под капотом» там всё равно работает C++, но многие вещи намного проще и удобнее делать именно через Blueprints, вместо того, чтобы писать непосредственно код «вручную». Впрочем, верно и обратное: многие другие вещи удобнее/проще делать в коде. Поэтому при создании игры моя рекомендация – использовать комбинированный подход, а не зацикливаться на чём-то одном.

    Если вы не видите у себя ноды BeginPlay , то добавьте её через контекстное меню и строку поиска. Расположение ноды на поле не имеет значения, но в случае сложных скриптов лучше стараться сразу располагать ноды так, чтобы потом самим не запутаться.

    image

    По аналогии с BeginPlay создадим рядом ноду Create Widget :

    image

    У нод событий (эвентов, events) обычно только один исходящий коннектор-пин – exec pin (от «execute»), пин выполнения. У других нод могут быть ещё пины параметров и пины результата. Цвета пинов параметров и результатов показывают тип значения (boolean, int, string и т.д., очень много всевозможных вариантов).

    Чтобы дать понять движку, что мы хотим выполнить ноду Create Widget при наступлении события BeginPlay , соединим исходящий exec-пин ноды BeginPlay со входящим exec-пином ноды Create Widget . Для этого левой кнопкой мыши нажмите на пин и не отпуская кнопку тащите до входящего пина.

    В ноде Create Widget в параметре Class выберем наш виджет MainMenu

    Из пина параметра Owning Player тянем линию в пустое место (да, так тоже можно), отпускаем и в меню ищем ноду Get Player Controller , добавляем её. Т.к. UE4 – движок многопользовательский, этот параметр определяет, какому игроку будет показан виджет. В случае одного игрока можно просто оставить Player Index равный нулю.

    image

    Теперь при запуске игры виджет будет создан, но мы ничего не увидим, т.к. его ещё надо отобразить. А также – передать управление от самой игры к интерфейсу.

    Для этого из Return Value ноды Create Main Menu Widget тащим коннект в пустое место и в меню ищем ноду Add to Viewport . В данном случае, при создании ноды, exec-коннект должен подключиться автоматически.

    image

    Треугольник в нижней части новой ноды говорит о том, что есть какие-то скрытые параметры. Нажимаем его и видим опцию ZOrder – она устанавливает порядок, в котором виджеты будут наложены друг на друга, если мы добавляем сразу несколько виджетов на экран. Для меню логично будет поставить значение побольше, чтобы меню всегда было поверх остальных виджетов. Например, 9999 .

    Последний штрих (на данном этапе) – нужно переключить режим ввода. Нам нужна нода Set Input Mode UI Only . В качестве параметра Target нужно указать тот же самый Player Controller , что и ранее, а в качестве виджета – объект, созданный нодой Create Widget .

    В верхней панели инструментов нажимаем кнопку Compile . Возвращаемся в основную вкладку, сохраняем всё (меню File -> Save All ) и в панели инструментов нажимаем большую кнопку Play !

    image

    Если всё было сделано правильно, то вы должны увидеть меню на чёрном фоне. Однако, есть проблема: курсор оказывается невидим. Ок, в панели инструментов нажимаем Stop (или просто Esc на клавиатуре).

    Это исправляется просто. Идём обратно во вкладку Main Menu — Level Blueprint .
    Из ноды Get Player Controller вытягиваем коннектор и создаём новую ноду Set Show Mouse Cursor .

    Отмечаем галочкой параметр Show Mouse Cursor (тёмно-красный цвет пина – Boolean ; установка галочки равнозначна присвоению значения true , снятие галочки – false ). Подключаем ноду между BeginPlay и Create Main Menu Widget и премещаем ноды так, чтоб они не запутывались.

    image

    Hint: Колесом мыши можно менять зум блюпринта.

    Снова нажимаем Compile и возвращаемся в основную вкладку. Нажимаем Play .
    На этот раз курсор должен быть виден, а кнопки должны нажиматься (хоть и без результата).

    Создание обработчиков кнопок

    Возвращаемся во вкладку нашего виджета MainMenu . Если вы её закрыли или потеряли – всегда можно открыть заново двойным кликом на нужном ассете в панели Content Browser .

    Так как статья получается длинной, в этой части мы сделаем только кнопки » Начать игру » и » Выход «. А другие кнопки, пока что, отключим.

    Выбираем кнопку » Продолжить » (удобнее сделать это в панели Hierarchy , чтобы выбрать саму кнопку, а не текстовый элемент) и справа в панели Details находим опцию Is Enabled . Чтобы не копаться в куче параметров, всегда можно воспользоваться строкой поиска вверху просто введите » enabled «. Снимаем галочку.
    Аналогично поступаем с кнопкой » Настройки «.

    В редакторе внешне ничего не изменится, но если вы снова запустите игру, то кнопки будут серыми и неактивными.

    Hint: элементы виджета можно переименовать, чтобы не путаться в нескольких одноимённых Button ‘ах. Для этого в панели Hierarchy выберите нужный элемент и кликните на нём один раз, либо в контекстном меню выберите Rename. Я переименовал кнопки в ButtonContinue , ButtonStart , ButtonOptions и ButtonExit соответственно.

    Выбираем ButtonStart и прокручиваем панель Details в самый низ, до раздела Events . Там будет несколько зелёных кнопок.

    image

    Нажимаем кнопку OnClicked и попадаем в блюпринт нашего виджета со свежесозданой нодой эвента On Clicked (ButtonStart) . Создаём ноду Open Level , подключаем её к эвенту и в параметре Level Name указываем » FirstPersonExampleMap » (название дефолтного уровня, можно посмотреть в Content Browser ).

    Казалось бы, всё… но не совсем. Если помните, раньше мы переключили режим ввода на UI Only . Теперь надо сделать обратное – переключить на Game Only .

    Для этого из ноды эвента вытягиваем коннектор и создаём ноду Set Input Mode Game Only . При этом нода Open Level автоматически переподключится к новой ноде, вам останется только выровнять их. Ну и не забудем, что надо указать параметр Target в новой ноде – подключим туда ноду Get Player Controller .

    image

    Нажимаем Compile и Save , запускаем, нажимаем » Начать игру «… Ура, мы в игре!

    Создание обработчика ButtonExit оставляю на домашнее задание – оно даже проще: нужно просто использовать ноду Quit Game с дефолтными параметрами. Чтобы из блюпринта виджета вернуться в редактор UI можно воспользоваться переключателем справа вверху.

    Туториал по Unreal Engine. Часть 4: UI

    image

    Разработчики видеоигр используют графику и текст для отображения необходимой информации, например, здоровья или очков. Это называется интерфейсом пользователя (user interface, UI).

    UI в Unreal Engine 4 создаётся с помощью Unreal Motion Graphics (UMG). UMG позволяет удобно выстраивать UI, перетаскивая элементы UI, такие как кнопки и текстовые метки.

    В этой части туториала вы научитесь следующему:

    • Создавать HUD-дисплей, на котором отображается счётчик и таймер
    • Отображать HUD на экране
    • Обновлять счётчик и таймер, чтобы отображать значения переменных

    Примечание: эта статья является одной из восьми частей туториала по Unreal Engine:

    • Часть 1: Знакомство с движком
    • Часть 2: Blueprints
    • Часть 3: Материалы
    • Часть 4: UI
    • Часть 5: Как создать простую игру
    • Часть 6: Анимация
    • Часть 7: Звук
    • Часть 8: Системы частиц
    • Часть 9: Искусственный интеллект
    • Часть 10: Как создать простой FPS

    Приступаем к работе

    Скачайте заготовку проекта и распакуйте её. Перейдите в папку проекта и откройте GeometryCatcher.uproject.

    Примечание: если откроется окно, сообщающее, что проект создан в более ранней версии Unreal editor, то всё в порядке (движок часто обновляется). Можно или выбрать опцию создания копии, или опцию преобразования самого проекта.

    Нажмите на Play, чтобы начать управлять белым кубом и попробуйте ловить падающие фигуры. Куб можно перемещать горизонтально с помощью мыши. Через десять секунд фигуры перестают создаваться.

    Первое, что нужно сделать — создать HUD-дисплей, отображающий две вещи:

    • Счётчик, отслеживающий количество собранных игроком фигур
    • Таймер, отображающий количество секунд, оставшихся до завершения создания фигур

    О виджетах

    Виджет (widget) — это элемент UI, предоставляющий UI визуальные функции. Например, виджет Button предоставляет объект, который пользователь может видеть и нажимать на него.

    Сам виджет необязательно должен быть видимым. Например, виджет Grid Panel равномерно разделяет своё пространство между его содержимым. Пользователь не может увидеть Grid Panel, но видит его воздействие.

    Кроме того, виджеты могут содержать другие виджеты. Вот пример виджета, содержащего виджет Text (метка Name) и виджет Text Box:

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

    Итак, мы узнали, что такое виджеты. Теперь можно создать виджет для HUD.

    Создание виджета

    Перейдите в Content Browser и найдите папку UI. Нажмите на кнопку Add New и выберите User Interface\Widget Blueprint. Переименуйте новый ассет в WBP_HUD.

    Дважды нажмите на WBP_HUD, чтобы открыть его в UMG UI Designer.

    UMG UI Designer

    UMG UI Designer состоит из семи основных элементов:

    1. Designer: в этой области представлено визуальное отображение виджета. Перемещаться по ней можно зажав правую клавишу мыши и двигая мышью. Масштабирование выполняется прокруткойколёсика мыши.
    2. Details: здесь отображаются свойства выбранного виджета
    3. Palette: список всех виджетов, которые можно использовать. Все созданные пользователем виджеты тоже появляются здесь.
    4. Hierarchy: список всех уже используемых виджетов
    5. Animations: некоторые свойства виджетов могут иметь анимацию, например, расположение и размер. В этой панели перечислены все анимации.
    6. Timeline: при выборе анимации на этой панели показываются анимированные свойства и ключевые кадры
    7. Editor Mode: здесь можно переключаться между режимами Designer и Graph. Режим Graph почти аналогичен Event Graph у Blueprint.
    Создание виджета Text

    Виджеты Text отлично подходят для отображения числовой информации, например, счётчика и таймера.

    Перейдите в панель Palette и найдите виджет Text. Добавьте виджет, перетащив его мышью в панель Designer.

    Содержание текста нас пока не интересует, мы изменим его позже.

    Переименуйте виджет в CounterText. Это можно сделать, выбрав виджет Text и перейдя в панель Details. Введите CounterText в текстовое поле в верхней части.

    Виджеты можно двигать, перетаскивая их левой клавишей мыши в панели Designer.

    Также можно изменять размер виджетов, перетаскивая левой клавишей мыши границы. Изменение размера позволяет задать границы виджета. Unreal не будет ничего рендерить за пределами границ.

    Или же можно задать положение и размер изменением значений в панели Details. Задайте следующие свойства и значения для CounterText:

    На данный момент текст занимает только небольшую часть поля.

    Можно увеличить размер шрифта, перейдя в панель Details и к разделу Appearance. Справа от свойства Font есть текстовое поле для задания размера шрифта.

    Введите размер 68.

    Давайте сделаем счётчик красивее, добавив к нему значок.

    Создание виджета Image

    Виджеты Image — это простой способ отображения графики в UI, например, значков.

    Создайте виджет Image и назовите его CounterIcon. Задайте Position X значение 75, а Position Y — значение 50. Виджет разместится рядом с CounterText.

    Чтобы задать изображение, перейдите в панель Details и зайдите в раздел Appearance. Разверните свойство Brush, а затем нажмите на раскрывающемся списке рядом с Image. Выберите T_Counter.

    Изображение будет выглядеть растянутым, потому что размер виджета отличается от размера изображения.

    Вместо изменения размера виджета мы можем использовать опцию Size To Content. Эта опция автоматически изменяет размер виджета под размер его содержимого.

    Находясь в панели Details, перейдите в раздел Slot (Canvas Panel Slot). Поставьте флажок рядом с Size To Content.

    Виджет сам подгонит свой размер под изображение.

    Если игра будет запускаться с разными размерами экрана, то UI должен соответствующим образом перемещать виджеты. Чтобы сохранить компоновку UI, нужно использовать привязки.

    Привязки

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

    В примере ниже каждое изображение привязано к одной точке (к ближайшему углу).

    Заметьте, что каждое изображение сохраняет положение относительно своей привязки. Благодаря привязкам UI будет иметь одинаковое расположение при разных размерах экрана.

    Также можно использовать привязки для автоматического изменения размера виджетов. В случае привязки к двум или более точкам виджет будет менять свой размер для сохранения относительного размера.

    В примере ниже индикатор привязан к верхнему левому и верхнему правому углам.

    Вертикально индикатор перемещается, но не меняет размера, потому что на оси Y есть только одна привязка (сверху). Однако горизонтально индикатор меняет размер, потому что имеет две точки привязки по оси X.

    Anchor Medallion отображает расположение привязки. Он появляется при выборе виджета.

    Привязки CounterText и CounterIcon уже находятся в нужном месте, поэтому задавать их не нужно.

    Теперь мы создадим ещё по одному виджету Text и Image для таймера. Однако на этот раз мы поместим их справа.

    Создание таймера

    Создайте виджет Text и назовите его TimerText. Задайте следующие свойства:

    • Position X: 1225
    • Position Y: 50
    • Size X: 500
    • Size Y: 100
    • Font Size: 68
    • Justification: Align Text Right (это выровняет текст по правой стороне виджета)

    Теперь мы хотим задать привязку в правом верхнем углу. Это можно сделать, перетащив мышью круг в Anchor Medallion. Переместите Anchor Medallion в правый верхний угол.

    Заметьте, как обновляется положение относительно привязки.

    Создайте виджет Image и назовите его TimerIcon. Задайте следующие свойства:

    • Position X: 1750
    • Position Y: 50
    • Size To Content: Checked
    • Brush\Image: T_Timer

    Вместо задания привязки с помощью Anchor Medallion, можно воспользоваться предустановленными значениями. Перейдите в панель Details и нажмите на раскрывающийся список рядом с Anchors, чтобы открыть предустановленные значения. Выберите третью схему (с квадратом в правом верхнем углу).

    Создание схемы UI на этом завершено. Можно убедиться в том, что привязки работают, эмулируя различные размеры экрана. Перейдите в панель Designer и нажмите на раскрывающийся список Screen Size.

    Выбор опции изменит размер WBP_HUD для соответствия опции. Ниже показано, как HUD будет выглядеть на iPad Air. Заметьте, что виджеты стали ближе друг к другу.

    В следующем разделе мы узнаем, как отображать виджет WBP_HUD.

    Отображение HUD

    Нажмите на Compile, а затем вернитесь в основной редактор. Перейдите в папку Blueprints и дважды щёлкните на BP_GameManager, чтобы открыть его.

    HUD должен становиться видимым после запуска игры. Для этого можно использовать нод Event BeginPlay.

    Найдите нод Event BeginPlay и добавьте нод Create Widget в конец цепочки нодов. Этот нод создаёт экземпляр указанного виджета.

    Нажмите на раскрывающийся список рядом с Class и выберите WBP_HUD.

    Чтобы отобразить HUD, необходимо использовать нод Add to Viewport. Перетащите левой клавишей мыши контакт Return Value нода Create Widget. Отпустите левую клавишу мыши в пустом пространстве, чтобы открыть контекстное меню. Добавьте нод Add to Viewport.

    Давайте разберёмся с порядком событий:

    1. Когда Unreal спаунит BP_GameManager, выполняются функции Restart и SetUpCamera. Эти функции настраивают несколько переменных и камеру. Если вы не знаете, что такое функция, то не волнуйтесь, скоро мы их рассмотрим.
    2. Нод Create Widget создаёт экземпляр WBP_HUD
    3. Нод Add to Viewport отображает WBP_HUD

    Чтобы отобразить значения счётчика и таймера, нам нужны переменные для хранения этой информации. Эти переменные можно найти в BP_GameManager.

    Чтобы использовать эти переменные. нам нужен способ получения доступа к BP_GameManager из WBP_HUD. Для этого можно применить переменную-ссылку.

    Переменные-ссылки

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

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

    А теперь представьте, что у нас сотня коробок, но мяч есть только в одной. Нам нужно будет проверять каждую коробку, пока мы не найдём коробку с мячом.

    Каждый раз, когда нам нужно будет изучить мяч, придётся выполнять эту операцию. Это быстро приведёт к проблемам с производительностью.

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

    Создание переменной-ссылки

    Откройте WBP_HUD и переключитесь в режим Graph, перейдя в Editor Mode и выбрав Graph.

    Перейдите на вкладку My Blueprint и создайте новую переменную GameManager.

    Перейдите в панель Details и нажмите на раскрывающийся список рядом с Variable Type. Найдите BP_GameManager и выберите BP Game Manager\Object Reference.

    Задание переменной-ссылки

    Нажмите на Compile и откройте BP_GameManager.

    Найдите нод Create Widget и перетащите левой клавишей мыши контакт Return Value. Отпустите левую клавишу на пустом пространстве и выберите из меню Set Game Manager.

    Затем соедините нод Add to Viewport с нодом Set Game Manager.

    Примечание: можно перенаправлять «провода», дважды щёлкая на них для создания нода Reroute. Перетащите левой клавишей мыши нод Reroute, чтобы перенаправить «провод».

    Затем создайте нод Self и соедините его с левым контактом нода Set Game Manager. Нод Self будет указан в списке как Get a reference to self.

    Теперь, когда WBP_HUD уже создан, у нас будет ссылка на BP_GameManager.

    В следующем разделе мы узнаем, как обновлять виджет с помощью функций.

    Функции

    Функции в Blueprints — это графы, похожие на Event Graph. В отличие от Event Graph функции можно вызывать с помощью нодов. Зачем же это может понадобиться?

    Упорядоченность

    Одна из причин для использования функций — упорядоченность. Благодаря функциям можно соединить несколько нодов в один.

    Посмотрите на раздел Event BeginPlay в BP_GameManager. Здесь есть две функции: Restart и SetUpCamera.

    Вот как будет выглядеть этот раздел без функций:

    Как вы видите, благодаря функциям он выглядит гораздо чище.

    Повторное использование

    Ещё одна причина для применения функций — повторное использование. Например, если вам нужно сбросить счётчик и таймер, то это можно запросто сделать с помощью функции Restart.

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

    Мы познакомились с функциями и теперь можем использовать их для обновления виджета CounterText.

    Обновление виджета

    При создании виджета также автоматически создаётся и переменная-ссылка на этот виджет. Однако по умолчанию виджеты Text не имеют переменных-ссылок. Это значит, что мы не сможем задавать их свойство Text. К счастью, это легко исправить.

    Нажмите на Compile и откройте WBP_HUD. Переключитесь в режим Designer.

    Выберите CounterText, а затем перейдите в панель Details. Убедитесь, что в самом верху есть флажок Is Variable.

    Теперь мы сможем обновлять CounterText. Следующим шагом будет создание функции для обновления текста.

    Создание функции обновления

    Переключитесь обратно в режим Graph и перейдите во вкладку My Blueprint. Нажмите на значок + справа от раздела Functions.

    При этом будет создана новая функция и вы перейдёте к её графу. Переименуйте функцию в UpdateCounterText.

    По умолчанию граф будет содержать нод Entry. При выполнении функции она будет начинать с этого нода.

    Чтобы CounterText отображал переменную ShapesCollected, нам нужно соединить их.

    Перетащите в граф переменную GameManager. Перетащите левой клавишей мыши его контакт и отпустите на пустом пространстве. В меню выберите Get Shapes Collected.

    Чтобы задать текст, нужно будет использовать нод SetText (Text). Перетащите переменную CounterText в граф. Перетащите левой клавишей мыши её контакт и отпустите на пустом пространстве. В меню добавьте нод SetText (Text).

    SetText (Text) может получать входные данные типа Text. Однако переменная ShapesCollected имеет тип Integer. К счастью, Unreal автоматически выполняет преобразование при подключении Integer ко входу Text.

    Соедините переменную ShapesCollected с контактом In Text нода Set Text (Text). Unreal автоматически создаст нод ToText (int).

    Чтобы доделать функцию, соедините нод Entry с нодом Set Text (Text).

    1. При вызове UpdateCounterText функция получает переменную ShapesCollected от BP_GameManager
    2. Нод ToText (int) преобразует значение ShapesCollected в тип Text
    3. SetText (Text) задаёт текст CounterText из значения ToText (int)
    Вызов функции обновления

    Лучше всего вызывать UpdateCounterText сразу после того, как игра увеличивает значение ShapesCollected. Я создал функцию IncrementShapesCollected, которая выполняет инкремент счётчика. Фигуры вызывают эту функцию, когда сталкиваются с игроком.

    Нажмите на Compile и вернитесь в BP_GameManager.

    Прежде чем вызвать UpdateCounterText, нам нужна ссылка на WBP_HUD. Попробуйте создать переменную-ссылку самостоятельно!

    Решение внутри

    • Найдите раздел, в котором мы создавали и отображали WBP_HUD.
    • Перетащите контакт Return Value нода Create Widget.
    • Отпустите левую клавишу мыши на пустом пространстве и выберите в меню Promote to variable.
    • Добавьте новый нод в конец цепочки нодов

    После создания переменной измените её имя на HUDWidget.

    Затем перетащите правый контакт нода Set HUDWidget и отпустите на пустом пространстве. Добавьте нод UpdateCounterText. Благодаря этому CounterText будет отображать значение ShapesCollected при запуске игры.

    Затем перейдите в панель My Blueprint и зайдите в раздел Functions. Дважды щёлкните на IncrementShapesCollected, чтобы открыть его граф.

    Перетащите переменную HUDWidget в граф. Перетащите его контакт и отпустите на пустом пространстве. Добавьте нод UpdateCounterText и соедините его следующим образом:

    Теперь при выполнении IncrementShapesCollected она будет увеличивать ShapesCollected, а затем вызывать UpdateCounterText. Эта функция затем обновит CounterText значением ShapesCollected.

    Нажмите на Compile и закройте BP_GameManager. Нажмите на Play и соберите несколько фигур, чтобы увидеть, как обновляется виджет CounterText.

    Теперь нам нужно научиться обновлять виджет TimerText, только другим способом, который называется привязкой.

    Bindings

    Привязки позволяют автоматически обновлять определённые свойства виджетов. Чтобы иметь возможность привязки, свойство должно обладать раскрывающимся списком Bind.

    Можно привязывать свойства к функции или к переменной, хранящейся внутри виджета. Привязка постоянно получает значение от функции или переменной и присваивает привязанному свойству это значение.

    Вы, наверно, задаётесь вопросом, почему же нельзя постоянно использовать привязки. Привязки неэффективны, потому что постоянно обновляются. Это значит, что игра тратит время на обновление свойства, даже если нет никакой новой информации. Сравните это с предыдущим способом, при котором виджет обновлялся только при необходимости.

    С учётом этого привязки хорошо подходят для часто изменяющихся элементов, таких как таймеры. Давайте создадим привязку для TimerText.

    Создание привязки

    Откройте WBP_HUD и переключитесь в режим Designer.

    Выберите TimerText, а затем перейдите в раздел Content панели Details. Вы увидите, что свойство Text имеет возможность привязки. Нажмите на раскрывающийся список Bind и выберите Create Binding.

    При этом создастся новая функция и выполнится переход к её графу. Переименуйте функцию в UpdateTimerText.

    Функция будет иметь нод Return с контактом Return Value типа Text. TimerText будет отображать любой текст, который вы подключите к этому контакту.

    Перетащите GameManager на граф и получите из него переменную TimeRemaining.

    Соедините переменную TimeRemaining с Return Value нода Return. Как и в прошлый раз, Unreal автоматически добавит нод преобразования.

    • Привязка будет постоянно вызывать функцию UpdateTimerText
    • Функция получает переменную TimeRemaining от BP_GameManager
    • Нод ToText (float) преобразует значение из TimeRemaining в тип Text.
    • Преобразованное значение затем выводится в нод Return

    Куда двигаться дальше?

    Готовый проект можно скачать здесь.

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

    Если вы хотите узнать, что делают другие виджеты, то прочитайте страницу Widget Type Reference в документации Unreal Engine.

    Чтобы продолжить изучение, прочитайте следующий пост туториала, в котором я покажу вам, как соединить всё вместе для создания простой игры!

    • unreal engine 4
    • unreal engine
    • ui
    • user interfaces
    • интерфейс пользователя
    • Разработка игр
    • Unreal Engine

    UEngine.Ru

    Панель Details является контекстно-зависимой областью, которая обеспечивает доступ к изменению свойств выбранных элементов в редакторе блупринтов. Она состоит из панели поиска для быстрого доступа к конкретным свойствам, и, как правило, содержит один или несколько категорий для организации входящих в комплект свойств.
    Панель Details также, место где вы будете обрабатывать множество задач редактирования блупринтов, в том числе:

    • Редактирование переменных, включая изменение имени, типа, и то является ли переменная массивом.
    • Подключение Blueprint interfaces после нажатия кнопки Blueprint Props.
    • Добавление входов и выходов для функций.
    • Добавление Events для выбраных компонентов.
    Интерфейс

    Интерфейс Details панели

    1. Фильтры поиска — Введите имя свойства которое нужно найти.
    2. Property Matrix — Открывает Property Matrix панель.
    3. Visibility Filter — Позволяет показать или скрыть измененные или дополнительные свойства, а также свернуть или развернуть все категории.
    4. Категории — Используются для группировки свойств, и могут быть свернуты или развернуты, используя маленький белый треугольник слева от имени.

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

    Уроки по Unreal Engine 5: работа с материалами

    Разбираем структуру Material Editor и учимся создавать материалы с нуля.

    Иллюстрация: Colowgee для Skillbox Media

    Леон Балбери

    Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.

    Редакция «Геймдев» Skillbox Media продолжает цикл уроков по Unreal Engine 5. Предыдущие материалы были посвящены особенностям установки редактора UE, а также обновлённому интерфейсу программы и работе с ассетами в Content Browser. В новом туториале мы разберём одну из самых важных основ Unreal Engine — работу с материалами.

    Руководство составлено на основе версии 5.0.3.

    Материалы отвечают за внешний вид и свойства поверхности всех объектов сцены, таких как Static Mesh (стандартные объекты со статическим типом геометрии), Skeletal Mesh (объекты со скелетной анимацией), ландшафт, пользовательский интерфейс и визуальные эффекты.

    Для начала рассмотрим структуру внутреннего редактора, в котором создаются материалы. Запускаем Content Browser, разворачиваем папку Starter Content (с базовым контентом для проектов в Unreal Engine) — и в подкатегории Materials открываем какой-нибудь материал. Двойной клик ЛКМ по значку материала откроет отдельное окно редактора для создания и изменения материалов — Material Editor. При необходимости его можно интегрировать в интерфейс основного редактора.

    Верхняя панель (№1) содержит базовый функционал, частично дублирующий опции из основного интерфейса Unreal Editor и Content Browser, который мы рассматривали в одном из предыдущих материалов.

    На панели (на изначальном скриншоте — №2) расположены кнопки, связанные с основными операциями в Material Editor.

    • Save — сохранение текущего ассета.
    • Browse — поиск и выделение текущего ассета в Content Browser.
    • Apply — компиляция шейдеров: сохранение всех изменений, внесённых в структуру материала. Акторы в сцене с преобразованным материалом также изменятся.
    • Search — поиск нодов материала по названию.
    • Home — переключение на основной нод материала. Удобно при создании сложных схем.
    • Hierarchy — отображение списка всех дочерних по отношению к выделенному нодов
    • Live Update — настройки отображения материалов в реальном времени.
    • Clean Graph — удаление нодов, не связанных со структурой материала.
    • Preview State — настройки отображения 3D-вьюпорта.
    • Hide Unrelated — сокрытие всех невыделенных нодов.
    • Stats — вывод или сокрытие статистики по данным материала. Отображается в виде дополнительной вкладки в нижней части Material Editor.
    • Platform Stats — вывод информации о компиляции и ошибках, если они присутствуют в структуре материала.

    Окно вьюпорта (на первом скриншоте — №3) отображает материал в трёхмерном окружении. В верхней части находится несколько вкладок с дополнительными настройками. Первая вкладка — меню с базовыми настройками вьюпорта: включение/отключение изменений в реальном времени (Realtime), дубликат кнопки отображения статистики (Stats) и счётчик FPS (Show FPS). Также здесь расположены ползунки для настройки угла обзора.

    Вкладки Perspective и Lit схожи с аналогичными опциями основного интерфейса Unreal Editor.

    Show содержит дополнительную функциональность: отображение статистики (Stats), сетки в окне графа (Grid) и фон окружения.

    В правом нижнем углу 3D-вьюпорта расположены кнопки с изображением цилиндра, сферы, плоскости и куба. Их используют для «примерки» материала на том или ином типе геометрии. Последний значок с изображением кирпича накладывает материал на объект, относящийся к типу Static Mesh, который до этого пользователь выбрал в Content Browser. Если просто нажать на эту кнопку, редактор напомнит, что сначала необходимо выбрать объект, на который нужно спроецировать материал.

    Справа от окна графа расположена панель Palette (на изначальном скриншоте — №6). В ней содержатся все типы нодов (Expressions). По умолчанию этот раздел скрыт. Клик по значку с пином зафиксирует окно во время работы. Чтобы необходимый компонент появился в окне Material Graph, достаточно перетащить его из списка Palette, удерживая ЛКМ.

    Основы навигации в Material Editor

    Навигация в 3D-вьюпорте осуществляется с помощью мыши:

    • ЛКМ с удержанием — вращение вокруг меша;
    • ПКМ с удержанием и колёсико мыши — приближение/отдаление;
    • СКМ с удержанием — перемещение в пространстве сцены.

    Двойной клик ЛКМ по ассету откроет Material Editor. Для начала попробуем создать цветной материал. В Unreal Engine за цвет отвечает нод Constant3Vector. Находим его в Pallete и переносим в область графа.

    Двойной клик по созданному ноду открывает окно с выбором цвета. Если выбрать цвет сейчас, превью нода останется чёрным, так как значение Value (второй столбец справа от цветового круга) по умолчанию нулевое. Перемещаем этот ползунок вверх и устанавливаем цвет на своё усмотрение.

    Усложним задачу и добавим материалу свойство, которое будет влиять на отображение поверхности, — например, шероховатость (Roughness). Этот параметр зависит от цифрового значения, за которое отвечает нод Constant. Находим его в списке Palette и перемещаем в окно графов. При выделении нода Constant на панели Details слева появится вкладка Material Expression Constant и чуть ниже — опция Value, где можно ввести желаемое значение.

    Вносим любое число на своё усмотрение в диапазоне от 0 до 1. Так, 1 — матовая, бархатистая поверхность, 0,5 — мягкий блик, 0 — зеркальная поверхность (значения по умолчанию). После этого подключаем слот Constant к Roughness и смотрим результат.

    Также можно придать материалу эффект «металлик», подключив значение к слоту Metallic. Для этого потребуется ещё один нод Constant (его можно также переместить из Palette или продублировать предыдущий: выделить первый нод Constant и нажать Ctrl + С и Ctrl + V). Выставляем новое значение на своё усмотрение, соединяем ноды и смотрим результат.

    Примечание

    Unreal Engine использует физически корректный рендеринг (PBR — Physically Based Rendering), который напрямую влияет на освещение и достоверное отображение объектов с параметрами Metallic и Roughness. Благодаря сочетанию их значений можно добиваться различных фактур при сборке отдельных объектов: зеркальная поверхность (Metallic 1 и Roughness 0), глянцевая (Metallic 0 и Roughness 0), перламутровая (Metallic 0,5 и Roughness 0,3) и так далее.

    Теперь попробуем «испачкать» материал. В качестве примера в уроке использована текстура T_Metal_Rust_D из Starter Content.

    Переносим её в окно графа. Если напрямую связать слот RGB нового нода с нодом Base Color, текстура займёт всю поверхность материала. Но в этом случае она должна отображаться частично и в определённых местах.

    Создаём нод LinearInterpolate. Связываем цветовой нод со слотом А, а нод с новой текстурой подключаем к слоту B. В качестве альфа-слоя подойдёт чёрно-белая текстура шума, которая использовалась ранее. Связываем её выход RGB с каналом Alpha у нода LinearInterpolate, а его, в свою очередь, с Base Color и смотрим на результат.

    Модификация материалов на основе текстур

    Теперь попробуем создать новый материал на основе трёх текстур: основа (слот Base Color), карта нормалей для подчёркивания фактуры (слот Normal) и чёрно-белый вариант для реалистичных бликов и потёртостей (слот Roughness). В качестве примера можно воспользоваться текстурами из Starter Content, но можно взять и собственные, предварительно создав для них отдельную папку.

    Перед работой убедитесь, что в текстуре для нормали не подключён параметр sRGB: движок должен распознать текстуру как дополнительную маску, а не как цветное изображение.

    В качестве примера мы выбрали три текстуры T_Wood_Floor_Walnut из набора Starter Content. Перетаскиваем их в Material Editor и соединяем. Также можно экспериментировать с сочетаниями текстур и слотов и получать различные эффекты без подключения дополнительных нодов.

    Примечание

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

    На скриншоте выше ноды связаны по самой простой схеме. Скомпилируем материал (Apply) и перенесём его на объект в сцене. Так как для этого урока выбрана текстура паркета, то она установлена на условный пол сцены.

    На скриншоте видно, что узор материала слишком крупный для поверхности пола в данной сцене. За масштабирование текстур отвечает нод Texture Coordinate. Создаём данный нод. Теперь его действие необходимо применить на все три текстуры. Чтобы избежать лишних дубликатов, создаём дополнительный нод Multiply, а затем вектор Constant, так как операция с масштабированием основана на значении. В настройках Constant указываем желаемое значение (по умолчанию стоит 1,0, всё, что выше единицы, — мельчит изображение, ниже — делает крупнее) и связываем ноды так, как показано на скриншоте ниже.

    При просмотре обновлённого материала во вьюпорте кажется, что узор текстуры стал слишком мелким. Нажимаем Apply, заходим в сцену и видим, что видоизменённый материал смотрится вполне гармонично в контексте напольного покрытия в сцене шаблона Third Person.

    Попробуем придать паркету в сцене другой оттенок с помощью уже знакомого нам нода Constant3Vector. Процесс настройки аналогичен тому, что был описан ранее для первого материала: с помощью Multiply связываем обычную текстуру и новый нод Constant3Vector. Компилируем и смотрим результат в сцене.

    Примечание

    Комплексные связки можно выстраивать на ходу. Когда «нить» вытягивают из слота нода, достаточно отпустить ЛКМ — и на этом месте откроется список Expressions.

    Стоит помнить, что любые внесённые изменения потребуют компиляции (Apply). Чем сложнее структура материала — тем больше времени займёт этот процесс.

    Настройка материалов в реальном времени

    Напоследок рассмотрим сегмент материалов, которые можно настраивать в реальном времени без постоянных компиляций. Под этим сегментом подразумевают зависимые копии материалов, или инстанс‑материалы (Material Instance). Их использование упрощает процесс разработки и улучшает производительность в целом.

    В Content Browser находим последний материал, над которым мы работали. Вызываем всплывающее меню нажатием ПКМ по значку ассета и выбираем самый верхний пункт — Create Material Instance.

    В папке появилась копия ассета с припиской _Inst. Переместим его на поверхность любого меша, в рамках туториала это по-прежнему будет пол.

    Текущая задача заключается в том, чтобы задать параметр регулировки масштаба текстуры в режиме реального времени. Возвращаемся в граф оригинального материала, находим нод Constant, связанный с размером текстур, кликаем по нему ПКМ и выбираем Convert to Parameter.

    После конвертации редактор предложит переименовать нод. Назовём его Size. Нажимаем Apply и заходим в Material Instance Editor (двойной клик ЛКМ по значку созданного инстанс-материала). В панели Details во вкладке Global Scalar Parameter Values появился параметр Size со значением выставленных ранее текстурных координат. Отметим его галочкой. Для наглядности перетащим окно в сторону, чтобы видеть сцену, и выкрутим ползунок Size. Узор текстуры материала начнёт меняться в реальном времени.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *