Что такое ассеты Unreal Engine

Урок на платформе YouTube:

Урок на платформе ВК:


Что такое ассеты Unreal Engine? В этом уроке закрываем вопрос создания и редактирования ассетов внутри Unreal Engine 5.

Именование (название) ассетов в Unreal Engine
При работе над сложными проектами, неминуемо  возникают ситуации поиска одного или другого ассета. Если они не будут иметь конвенциональных (общепринятых) наименований, сделать это будет достаточно проблемно, особенно при работе в команде. Рекомендации Epic Games указывают наиболее понятный метод наименования по формуле (разумеется, они носят необязательный характер и могут быть изменены под запросы конкретной студии или художника):
 
[AssetTypePrefix]_[AssetName]_[Descriptor]_[OptionalVariantLetterOrNumber], где:
[AssetTypePrefix] — тип ассета
[AssetName] — имя, характеризующее ассет
[Descriptor] — описание актива, например «Air» для воздушных статичных мешей, или указание типа текстуры (нормали, диффузия) для текстур
[OptionalVariantLetterOrNumber] — номер версии текущего ассета, если в проекте используется несколько версий
 
Примеры нейминга:
 
  • SM_Car_Wheel_01 — статичный меш колеса авто, первая версия
  • M_CarPaint_RedMetallic_01 — материал краски авто, красный металлик, первая версия
  • T_CarBase_NM_01 — карта нормалей базовой поверхности авто, первая версия
 
По сложившимся традициям организации и названия ассетов, наиболее частые префиксы (приставки перед основным именем) могут быть указаны как:
 
Для основных объектов:
SM_ — ассеты статичных мешей
SK_ — скелетные меши
T_ — текстуры
M_ — материалы
MI_ — инстансы материала (варианты базового материала)
PHYS_ — объекты физики
PM_ — материалы физики
PPM_ — материалы постобработки
HDR_ — изображения HDR (с расширенным диапазоном) для визуализации окружения
OCIO_ — системы управления цветом
 
Для Blueprints:
AC_ — для актора
ABP_ — анимационный
BI_ — интерфейсный
BP_ — собственно, blueprint
CT_ — Curve Table
DT_ — Data Table
E_ — Enum
F_ — структура
WBP_ — виджет
 
Системы частиц:
FXE_ — излучатель частиц системы «Ниагара»
FXS_ — система «Ниагара»
FXF_ — функция «Ниагара»
 
Анимации скелетных мешей:
Rig_ — система рига
SKEL_ — скелет
AM_ — монтаж
AS_ — последовательность анимации
BS_ — Blend Space
 
ICVFX
NDC_ — конфигурация камерных эффектов
 
Анимации
LS_ — последовательность уровня
EDIT_ — редактор секвенсора
 
Медиа
MS_ — источник медиа
MO_ — выходной канал медиа
MP_ — медиаплеер
MPR_ — профиль медиа
 
Прочие ассеты:
SNAP_ — Snapshot уровня
RCP_ — пресет контроля версий
 
 
Сохранение созданных ассетов в проекте
После того, как объект был создан, например, из списка геометрических мешей, он появится в браузере контента в той папке, которая была выбрана на момент создания. Но такие объекты не будут включены в проект до тех пор, пока мы их не сохраним принудительно (несохраненные объекты имеют индикацию звёздочки). Сделать это можно, нажав Ctrl+S для выбранного объекта, или из контекстного меню: ПКМ по объекту - Save.
 
 
Создание ассетов и акторов статичных мешей
Называются статичными, потому что их сетки неизменны, не имеют скелета, и неподвижны большую часть времени, хотя и могут быть перемещены. В дереве акторов панели Outliner отображаются в виде строительного блока (кирпича с двумя отверстиями).
 
 
Первым способом создания (о котором мы уже прежде упоминали) будет создание объектов из режима Modeling. Вызывается с верхней панели управления или по сочетанию Shift+5. Если по каким-то причинам этот режим отсутствует, нужно обратиться к списку плагинов и включить плагин Modeling Tool Editor Mode. Выбирая объекты из списка Shapes, мы можем процедурно настраивать их форму до того, как будут приняты изменения, и объект появится в списке ассетов. Объекты созданные этим способом, имеют удобное расположение Pivot-point, а также могут в дальнейшем редактироваться инструментами из этого же режима «Modeling». Кроме этого, в списке шейпов текущего режима самое большое количество базовых шейпов. Типы созданных отсюда мешей могут быть:
 
  • Статичными (Output Type — Static Mesh). Основные меши, которые мы будем использовать в этом курсе. При создании, влекут за собой появление нового ассета уровня
  • Динамическими (Output Type — Dynamic Mesh). Процедурные меши, которые могут быть запрограммированы через Blueprints. Не создают ассетов, а существуют только в виде акторов на уровне. Могут быть изменены инструментами моделирования, как и статичные меши. Могут быть переведены в статичные в панели Modeling → Transform → Convert. Динамические меши не работают с новыми функциями Lumen и Nanite
  • Volume (объёмы обработки) — акторы отвечающие за интерактивное взаимодействие с игроком на уровне
 
Вторым способом создания объектов является добавление примитивов из базового списка корневого движкового контента. Сделать это можно из списка Quickly add to the project → Shapes. Или же из панели Place Actors, которую можно вызвать как из меню Windows, так из того же списка Quickly add to the project (выпадающего списка на верхней панели управления движком). Оба эти способа — суть одно и то же. Так как их акторы обращаются к одному ассету. У ассетов, созданных таким способом уже назначен материал (белый по умолчанию). Но их нельзя редактировать полигональными инструментами, поскольку принадлежат эти ассеты к корневым файлам движка. Кроме этого у таких объектов по умолчанию Pivot-point не всегда будет позволять удобно размещать их на уровне. Например, у примитива куба он находится в центре сетки. И самое важное, если примитивы были созданы таким образом и не сохранены как ассеты текущего проекта, то при передаче этого проекта другим разработчикам, могут не отобразиться, если по каким-то причинам отсутствуют в корневых файлах движка этих разработчиков.
 
Ещё одним способом создания будет метод — из панели просмотра классов. Но его в данном курсе мы рассматривать не будем.
 
 
Создание и редактирование сеток (режим Modeling)
В режиме Modeling Unreal Engine 5 нам доступно множество инструментов моделирования. И хотя, многие из них не так удобны, как аналогичные им в полигональных редакторах, всё же некоторые из этих инструментов мы с успехом можем использовать — в некоторых случаях это будет быстрее и более целесообразно, чем кидать модель туда-обратно в полигональный редактор.
 
Unreal Engine работает только с треугольными сетками. Однако, имея возможность определять полигруппы, мы можем имитировать работу с полигонами.
 
Создание полигрупп в Unreal Engine
Полигруппа — это основная единица упорядочивания треугольников. Логика здесь очень похожа на работу в ZBrush, где взаимодействие с геометрией осуществляется по полигруппам. Таким образом полигруппа — это островок полигонов, на который проходит воздействие. Можно считать их выборками (индексами выделения) — без необходимости непосредственно выделять конкретные подобъекты (вершины, рёбра или полигоны). Впрочем инструменты редактирования по подобъектам в Unreal Engine также присутствуют и служат для точечного воздействия.
 
Увидеть цветовую индикацию полигрупп можно, например, в Modeling Mode → TriModel → TriSel → Face Color Mode → By Groups. Здесь же можно переопределить полигруппы, выбирая нужные треугольники и активируя функцию Create Polygroup из Mesh Edit.
 
Создать полигруппу можно из раздела Attributes → GrpGen или GrpPaint (см. видеоурок).
 
Редактирование сеток (мешей)
Для работы с геометрией (по полигруппам в том числе) в режиме Modelling предусмотрено большое количество инструментов. Например, инструменты прямого моделирования в разделе PolyModel → PolyExt.
 
 
Динамические сетки (кисти)
Здесь мы будем рассматривать их наряду со статичными мешами, хотя, в полном смысле они таковыми не являются. Однако, скелетными их назвать тоже нельзя, а процедурными они, как правило, существуют недолго, в конце концов переходя на стадию статичных. Доступны эти кисти из панели Place Actors → Geometry.
 
Некоторые свойства кистей:
 
  • В сцене существуют как математические функции, не являются ассетами, а только акторами
  • В дереве акторов отображаются кубом с индикацией плюса
  • Хорошо подходят для блокинга сцен, где нужно множество булевых операций
  • Могут работать в режиме булевых операций
  • Геометрические кисти можно преобразовать в Static Mesh в панели Details → Brush Settings → Create Static Mesh. При этом, если выбрано сразу несколько геометрических мешей, после преобразования они будут составлять единый статический меш. Кроме этого кисти можно преобразовать из режима Modeling → Volumes → BSPConv
  • Акторы геометрических кистей, как и статичных объектов, можно заменить любыми другими объектами: ПКМ по геометрическому мешу(ам)Replace Selected Actors with → выбрать нужный объект из списка
  • Чтобы выбрать меш кисти целиком, нужно выбрать любую из его поверхностей, затем кликнуть на любое из рёбер этого объекта, либо повторно кликнуть по выделенной поверхности с зажатыми Ctrl+Shift
  • Добавлять поверхности к индексу выделения можно также с Ctrl+Shift
  • Из минусов этих кистей
    • Нагружают сцену
    • Не так удобны, как полимоделинг в спец. редакторах
 
 
Другие типы объектов в Unreal Engine 5
 
  • Скелетные меши (меши, анимированные на костях) — будут рассмотрены в следующих курсах
  • Частицы (объекты для различного рода симуляций и эффектов) — будут рассмотрены в следующих курсах
  • Прочие объекты (триггеры, физические взаимодействия, текст и другие) — будут рассмотрены в следующих курсах
 
 
Размеры объектов в Unreal Engine
 
Чтобы увидеть размеры объекта в Unreal Engine 5 нужно:
 
  • Перейти в одну из ортогональных проекций → зажать СКМ у основания объекта → протянуть линейку до верхней точки объекта. Учитываем, что инструмент работает с привязкой к сетке, и для сетки больших размеров, может реагировать не сразу при растягивании
  • Перейти в окно редактирования ассетов (Ctrl+E) → изучить информацию в левом верхнем углу вьюпорта, где среди количества полигонов и прочих данных можно увидеть размеры объекта

 

Официальный сайт ZBrush

Официальный сайт Unreal Engine

Задать вопрос в нашей группе ВК