Система FBX StaticMeshes в Unreal Engine 4

0
14
Система FBX StaticMeshes в Unreal Engine 4

Поддержка StaticMesh в системе импорта FBX позволяет получать меш из 3D-приложений в Unreal Engine 4 просто и безболезненно. Когда импортируются меши, текстуры, используемые в материалах, применяемых к этим мешам в их соответствующем 3D-приложении (только диффузная и карта нормали), также импортируются и, в свою очередь, используются для создания материалов, применяемых к меши в UE4.

Функции, поддерживаемые для импорта Статик мешей с использованием FBX:

  • Статик меши с материалами, включая текстуры
  • Пользовательское столкновение
  • Сеты многокомпонентных UV
  • Группы сглаживания
  • Цвет вершин
  • LODs
  • Несколько отдельных Статик мешей (также могут быть объединены в одну меш при импорте)
В настоящее время при импорте нескольких мешей с пользовательской коллизией в один файл импортирована будет только коллизия первой меши.

 

Система импорта UE4 FBX использует версию FBX 2016. Использование другой версии во время экспорта может привести к несовместимости.
Эта страница содержит информацию о Autodesk Maya и Autodesk 3ds Max. Пожалуйста, выберите предпочтительный инструмент для создания контента, и тогда отобразится информация, относящаяся именно к этому инструменту.
Выберите инструмент 3D Art
Autodesk MayaAutodesk 3ds Max

Общая настройка

В общем, вы можете создавать Static Meshes с помощью любых инструментов и методов, которые вы хотите. Существуют некоторые положения в отношении настройки UVs, размещения меши и т.д., которые вам необходимо учитывать для того, чтобы экспорт и импорт шли плавно, и чтобы меш работала должным образом в Unreal Editor.

Pivot Point – Точка опоры

Опорная точка меши в Unreal Engine определяет точку, вокруг которой будут выполняться любые преобразования (трансляция, поворот, масштаб).

Точка опоры UE4Точка поворота всегда находится в начале (0,0,0) при экспорте из приложения 3D-моделирования. Из-за этого лучше всего создать ваши меши в начале координат, причем начало координат должно быть расположено в одном углу меши, чтобы обеспечить правильное выравнивание при привязке к сетке внутри Unreal Editor.

Начало оси UE4Триангуляция

Меши в Unreal Engine должны быть триангулированы, поскольку графические средства используют только треугольники.

Триангуляция UE4Существует несколько способов триангулировать вашу меш.

  • Моделирование меши с помощью только tris – наилучшее решение, обеспечивающее максимальный контроль над конечным результатом.
  • Триангулировать меш в 3D-приложении – очень хорошее решение, позволяет очищать и модифицировать перед экспортом.
  • Позволить экспортеру FBX триангулировать меш – хорошее решение, не допускает очистки, но может работать с простыми мешами.
  • Разрешить импортеру триангулировать меш – хорошее решение, не допускает очистки, но может работать с простыми мешами.

Всегда будет лучше вручную триангулировать меш в 3D-приложении, контролируя направление и расположение границ. Автоматическая триангуляция может привести к нежелательным результатам.

Триангуляция плохая UE4Координаты UV-Текстуры

Импорт нескольких наборов UV поддерживается системой FBX в Unreal Engine 4. Для Статик мешей это обычно используется для обработки одного набора UV для диффузного элемента. Особых требований к настройке UV для Статик мешей при использовании системы FBX нет.

Создание Карт Нормали

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

Детали Render Mesh UE4Геометрия меши с высоким разрешением используется для генерации нормалей для Карты нормали. Epic использует внутренний рабочий процесс, который вводит XNormal в процесс и обычно приводит к значительно лучшим нормалям при рендеринге внутри Unreal Engine 4. Подробные сведения об этом процессе смотрите в Normal Map Creation Guide (Руководстве по созданию карт нормали).

Материалы

Материалы, применяемые к мешам, смоделированным во внешних приложениях, будут экспортироваться вместе с мешью, а затем импортироваться в Unreal. Это упрощает процесс, поскольку текстуры не нужно отдельно импортировать в Unreal, а материалы не нужно создавать и применять, и т.д. Процесс импорта может выполнять все эти действия при использовании системы FBX.

Эти материалы также необходимо настраивать определенным образом, особенно когда меш имеет несколько материалов или когда важен порядок материалов на сетке (т.е. для моделей персонажа, где материал 0 должен быть телом, а материал 1 должен быть головой).

Полную информацию о настройке материалов для экспорта смотрите на странице FBX Material Pipeline (система материалов FBX).

Коллизия

Упрощенная геометрия столкновений (коллизий) )важна для оптимизации обнаружения столкновений в игре. Unreal Engine 4 предоставляет базовые инструменты для создания геометрии столкновений в Редакторе Статик меши. Однако некоторые обстоятельства лучше всего обрабатывать, создавая собственную геометрию столкновений в вашем приложении 3D-моделирования и экспортируя его с помощью рендеринговой меши. Как правило, это справедливо для любой меши с открытой или вогнутой областью, с которой объекты не должны сталкиваться.

Например:

  • Дверные меши
  • Стены с оконными проемами
  • Меши странных форм

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

Префикс и Имя мешиОписание
UBX_[RenderMeshName]_##Боксы создаются типом объектов Box в Max или с полигональным примитивом Cube в Maya. Вы не можете перемещать вершины вокруг или деформировать их каким-либо образом, чтобы сделать их чем-то иным, чем прямоугольной призмой, иначе они не будет работать.
UCP_[RenderMeshName]_##Капсулы создаются типом объекта Capsule. Капсула не обязательно должна иметь много сегментов (8 – хорошее количество), потому что так она превращается в настоящую капсулу для столкновения. Как и боксы, вы не должны перемещать отдельные вершины.
USP_[RenderMeshName]_##Сферы создаются с помощью типа объекта Sphere. Сфера не обязательно должна иметь много сегментов (8 – хорошее число), потому что она превращается в истинную сферу для столкновения. Как и коробки, вы не должны передвигать отдельные вершины.
UCX_[RenderMeshName]_##Выпуклые объекты могут быть любой полностью замкнутой выпуклой трехмерной фигурой. Например, бокс также может быть выпуклым объектом. На приведенной ниже диаграмме показано, что выпуклое, а что нет:

Convex UE4

Предостережения и Соображения

  • RenderMeshName должно быть идентичной имени меши рендеринга, с которой связана коллизийная меш в 3D-приложении. Поэтому, если в вашем 3D-приложении есть меш рендеринга Tree_01, ваша меш столкновения должна находиться в сцене с этой мешью и называться UCX Tree_01, а затем экспортироваться вместе с мешью рендеринга в тот же файл FBX. Если вам требуется более одного объекта столкновения для меши, вы можете расширить их имена с помощью следующих идентификаторов, таких как: UCX_Tree_01_00, UCX_Tree_01_01, UCX_Tree_01_02 и т.д. … и все они будут связаны как столкновение для этой меши.
  • В настоящее время сферы используются только для столкновений с твердым телом и следов нулевой протяженности Unreal (например, оружия), не от не нулевой протяженности (например, движения Игрока). Кроме того, сферы и боксы не работают, если StaticMesh неравномерно масштабируется. В общем, вы, вероятно, захотите создать примитивы UCX.
  • Как только объекты столкновения будут настроены, вы можете экспортировать рендеринговую и коллизионную меши в тот же файл .FBX. Когда вы импортируете файл .FBX в Unreal Editor, он найдет столкновение, удалит его из меши рендеринга и превратит его в модель столкновения.
  • Разрыв не выпуклой меши в выпуклые примитивы является сложной операцией и может дать непредсказуемые результаты. Другой подход означает разбить модель столкновения на выпуклые части самостоятельно в Max или Maya.
  • В случае объекта, столкновение которого определяется несколькими выпуклыми оболочками, результаты получаются лучше всего, когда корпуса не пересекаются друг с другом. Например, если столкновение для леденца на палочке было определено двумя выпуклыми оболочками, одна для конфеты и другая для палочки, то промежуток должен быть оставлен между ними, как на следующем рисунке:

Столкновение Конфеты UE4

1. UCX_Candy (конфета)

2. Небольшой зазор между поверхностями столкновения

3. UCX_Stick (палочка)

Сокеты

Сокеты обычно используются в играх для присоединения объекта к другому объекту, будь то для Скелета или Статик меши. Unreal Engine 4 предоставляет инструменты для создания сокетов внутри редактора статик мешей. Иногда может потребоваться установить их в приложении 3D-моделирования и экспортировать его с помощью рендеринговой меши. Эти сокеты могут быть Транслированы, Повернуты и Масштабированы относительно кости на Скелетной меши или в размере Статик меши.

Чтобы использовать сокет в вашем приложении моделирования, вам нужно использовать объект Dummy или Helper с префиксом SOCKET_.

Префикс и Имя мешиОписание
SOCKET_[RenderMeshName]_##Используйте это на любых объектах Dummy или Helper в приложении моделирования, чтобы назначить сокет вашей меши.

Предостережения и соображения

  • RenderMeshName должно быть идентично имени рендеринговой меши, с которой связан объект сокета в 3D-приложении. Поэтому, если у вас есть рендеринговая меш с именем Object_01 в вашем 3D-приложении, ваш объект сокета должен находиться в сцене с этой мешью и с именем SOCKET_Object_01, а затем экспортироваться вместе с мешью рендеринга в тот же файл FBX. Если для меши требуется несколько объектов сокета, вы можете расширить их имена с помощью следующих идентификаторов, таких как: SOCKET_Object_01_00, SOCKET_Object_01_01, SOCKET_Object_01_02,и т.д. … и все они будут связаны как сокеты для этой меши.
  • При создании сокетов для вашей меши вы можно установить только одну FBX меши с сокетами, которые можно импортировать в Unreal Engine 4. Например, если у вас есть две меши рендеринга, которые вы хотите быть отдельными активами, необходимо импортировать как отдельные FBX-файлы. Это означает, что вы не можете импортировать несколько мешей и назначать сокеты для каждой отдельной меши, и если у вас есть два набора рендеринговых мешей с их собственными сокетами, они не будут импортированы правильно. В качестве примера, если у меня есть Object_01 с SOCKET_Object_01_00 и другой мешью рендеринга Box_01 с SOCKET_Box_01_00, то я не могу экспортировать обе эти меши вместе со своими сокетами. Их нужно будет экспортировать в виде отдельных файлов FBX.

Цвета вершин

Цвета Вершин для Статик мешей могут передаваться с использованием системы FBX. Никакой специальной настройки не требуется.

цвет вершины UE4Экспорт меши

Статик меши можно экспортировать отдельно или же несколько мешей можно экспортировать в один файл FBX. Система импорта будет разделять несколько статик мешей на несколько активов в пакете назначения, если не указано, чтобы объединить меши, включив параметр Combine Meshes (объединить меши) во время импорта.

Система импорта UE4 FBX использует версию FBX 2016. Использование другой версии во время экспорта может привести к несовместимости.
Для инструмента Autodesk Maya

1. Выберите меш (меши) в вьюпорте, которая будет экспортирована.

экспорт maya 1 UE42. В меню File выберите Export Selection (экспортировать выбранное) (или Export, если хотите экспортировать все на сцене независимо от выбора).

экспорт maya 2 UE43. В диалоговом окне Export:

  • Выберите файл Content в своем UE4 проекте (1)
  • Введите имя для файла и установите его на FBX Экспорт (2)
  • Настройте свои Опции Экспорта (3)
  • Нажмите Export (4)

maya экспорт 3 UE4Настройки выше в категории Геометрия являются самыми основными требованиями для экспорта статических мешей в Unreal Engine 4.

4. Перейдите в папку Content вашего проекта. Вы увидите, что ваш файл FBX был добавлен.

maya export 4 UE45. Если у вас открыт Редактор UE4 (или в следующий раз при его запуске), в диалоговом окне FBX Import Options вам будет предложено ввести Import или Import All.Import Dialog Windows UE4

Вы можете оставить параметры для импорта по умолчанию. Дополнительную информацию о каждой опции см. в Справочном руководстве по импорту FBX.

6. Ваш актив теперь импортирован, и вы можете перетащить его из Контент браузера на свой уровень.

max export 7 UE4В приведенном выше примере (как часть наших Опций Импорта) мы импортировали Материалы и Текстуры.

Для инструмента Autodesk 3ds Max

Выберите меш (меши) в вьюпорте, которая будет экспортирована.

export static mesh UE42. В меню File выберите Export Selected (Экспортировать выделенное) (или Export, если вы хотите экспортировать все в сцене независимо от выбора).

export selected UE43. Выберите папку Content в вашем проекте UE4 (1) и имя для FBX файла (2), затем нажмите на кнопка Max сохранить ue4.

экспорт статической сетки UE44. В диалоговом окне настройте свои опции, затем нажмите на кнопкуmax ok button ue4, чтобы создать FBX файл, содержащий меши.

экспорт статической сетки UE4Настройки категории Геометрии, на изображении выше, являются самыми основными требованиями для экспорта Статик мешей в Unreal Engine 4.

5. Просмотрите файл Content вашего проекта. Вы увидите, что ваш FBX файл уже добавился.

Окна Экспорта Maya UE46. Если у вас открыт Редактор UE4 (или при его запуске), вам будет предложено диалоговое окно FBX Import Options (Параметры импорта FBX), нажмите Import или Import All.

Диалоговые Окна Импорта UE4Вы можете оставить параметры для импорта по умолчанию. Дополнительную информацию о каждой опции смотрите в справочном руководстве по импорту FBX – FBX Import Options Reference.

7. Ваш актив теперь импортирован, и вы можете перетащить его из Контент браузера на свой уровень.

экспорт статической сетки UE4В приведенном выше примере (как часть наших Опций Импорта) мы импортировали Материалы и Текстуры.

Импорт Меши

(Для инструментов: Autodesk Maya / Autodesk 3ds Max)

1. Нажмите на кнопкуСоздать новый меш для импорта ue4 в Контент браузере и выберите Import (Импорт). Найдите и выберите файл FBX, который вы хотите импортировать, в открывшемся браузере файлов. Примечание: вы можете выбратьimport fbxformat ue4 в раскрывающемся списке, чтобы отфильтровать нежелательные файлы.

файл импорта UE4

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

2. Выберите соответствующие параметры в диалоговом окне Import. В большинстве случаев значения по умолчанию должны быть достаточными. Подробные сведения обо всех параметрах смотрите в разделе FBX Import Dialog.

Параметры Импорта Статической Сетки UE4

3. Нажмите кнопкукнопка импорт ue4 для импорта меши (мешей).

Импортированные Сетка И Текстура UE4

Полученная меш, материал (ы) и текстура (ы) будут отображаться в Content Browserесли процесс был успешным.

Несмотря на то, что текстуры и материалы можно импортировать со Статик мешью, автоматически будут подключаться только параметры Цвет и Нормаль (при условии, что поддерживаемый материал использовался в Max / Maya), Зеркальные карты будут импортированы, но не подключены, а другие карты, такие как карта Ambient Occlusion (окружающего мира) в слоте Diffuse материала maya, даже не будут импортированы; лучше всего проверить свои материалы и подключить любые несвязанные карты и проверить, какие карты не импортировались. Просто дважды щелкните мышкой по новому материалу и подключите доступные текстуры к соответствующим входам.

Просмотрев импортированную меш в Редакторе Static Mesh и включив отображение столкновения, вы можете определить, что процесс работал должным образом.

Сетка в редакторе статических сеток UE4

Кроме того, вы можете просто щелкнуть и перетащить FBX файл из Windows в Content Browser, и он отобразит для вас диалоговое окно импорта.

Static Mesh LODs

Статик Меши могут использовать уровни детализации (LODs) в игре, чтобы ограничить влияние мешей, когда они будут дальше от камеры. Как правило, это означает, что каждый уровень детализации будет иметь уменьшенное количество tris (трис) и, возможно, более простой материал (или материалы), применяемый к нему.

lods UE4

Систему FBX можно использовать для экспорта / импорта этих мешей LODs.

Настройка LOD

Общие настройки

В общем, LODs обрабатываются путем создания моделей различной сложности, идущих от полноразмерной базовой меши к меши LOD с наименьшей детализацией. Все они должны быть выровнены и занимать одно и то же пространство с одинаковой точкой поворота. Каждая меш LOD может иметь совершенно разные материалы, включая различные количества материалов. Это означает, что базовая меш может использовать несколько материалов, чтобы получить требуемое количество деталей близко, но в мешах с более низкой детализацией можно использовать один материал, поскольку детали будут менее заметными.

Для инструмента Autodesk Maya

1. Выделите все меши (базовые плюс LOD) в порядке от базового LOD до последнего LOD. Это важно, так что они добавляются в правильном порядке с точки зрения сложности. Затем выберите команду Level of Detail > Group в меню Edit.

группа Майя Лод UE4

2. Теперь все ваши меши должны сгруппироваться под LOD Group.

Лод Майя содержание UE4

Для инструмента Autodesk 3ds Max

1. Выделите все меши (базовые плюс LOD – порядок не имеет значения) и выберите команду Group из меню Group.

max lod group UE42. Введите имя для новой группы в открывшемся диалоговом окне и нажмите на кнопкуmax lod ok button ue4, чтобы создать группу.

lod group name UE4

3. Чтобы увидеть панель Utilities, нажмите на кнопкуmax utilities button ue4, а затем выберите утилит Level of Detail. Примечание: вам возможно понадобится нажатьmax utility more button ue4для выбора из списка.

max lod utility UE44. После выбора группы нажмите наmax lod create button ue4, чтобы создать новый сет LOD и добавить к нему меши в выбранной группе. Меши будут автоматически упорядочены в соответствии с их сложностью.

lod contents UE4

Экспорт LODs

Чтобы экспортировать LOD StaticMesh:

1. В Maya: выберите LOD Group и любую геометрию столкновения.

maya lod выбор экспорта UE4В 3ds Max: выберите Группу мешей, которая включает сет LOD и любую геометрию столкновения.

выбор экспорта lodUE42. Выполните те же шаги экспорта, что и для базовой меши (описанные выше в разделе Export Mesh). Обязательно включите экспорт анимаций в свойствах экспортера FBX. Это необходимо для экспорта LODs.

Импорт LODs

Static Mesh LOD могут быть импортированы вместе с базовой мешью в Content Browser или они могут быть импортированы отдельно через Редактор Статик Меши.

Меш с LODs

1. Нажмитеbutton new ue4 в Content Browser и выберите Import. Найдите и выберите файл FBX, который вы хотите импортировать, в открывшемся браузере файлов. Примечание: вы можете выбратьимпорт формата fbx ue4в раскрывающемся списке, чтобы отфильтровать нежелательные файлы.

Сетка в Редакторе статических сеток UE42. Выберите соответствующие параметры в диалоговом окне Import. Значений по умолчанию должно быть достаточно, но также убедитесь, что включены опции импорта LOD. Примечание: При импорте LOD имя импортированной меши будет соответствовать Naming Rules (правилам именования) по умолчанию. Подробные сведения обо всех параметрах смотрите в разделе FBX Import Dialog (Диалоговое окно импорта FBX).

Параметры импорта LOD UE43. Нажмитекнопка импорт ue4чтобы импортировать меш и LODs. Полученная меш, материал (ы) и текстура (ы) будут отображаться в Content Browser, если процесс был успешным.

Импортированные сетки и Tex UE4

Несмотря на то, что текстуры и материалы могут быть импортированы с помощью Static Mesh, автоматически будут подключаться только параметры Цвет и Нормаль (при условии, что поддерживаемый материал использовался в Max/Maya]Engine/Content\FBX\Materials)), Зеркальные карты будут импортированы, а другие карты, такие как карта Ambient Occlusion (окружающего мира) в слоте Diffuse материала maya, даже не будут импортированы; лучше всего проверить свои материалы и подключить любые несвязанные карты и проверить, какие карты не импортировались. Просто дважды щелкните мышкой по новому материалу и подключите доступные текстуры к соответствующим входам.

Просмотрев импортированную меш в Редакторе Статик меши, вы можете перебирать LODS, используя выпадающее менюкнопка Auto LOD ue4в правой части панели инструментов.