This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Руководство по импорту FBX

FBX — это формат файла, принадлежащий Autodesk, который используется для обеспечения взаимодействия между различными приложениями для создания цифрового контента (DCC). Большинство современных приложений для 3D-моделирования поддерживают экспорт в FBX: Autodesk Maya, Autodesk 3ds Max, Blender, Modo и т.д.

Конвейер импорта FBX в UNIGINE позволяет легко передавать контент из любого приложения DCC, поддерживающего этот формат.

Преимущества использования импорта FBX по сравнению с другими методами импорта:

  • Статические меши, скелетные меши, анимация и morph targets объединены в один формат файла.
  • В одном файле может содержаться несколько ресурсов.
  • Импорт нескольких LOD и morph targets за одну операцию импорта.
  • Материалы и текстуры можно импортировать и применять к мешам.
  • Также можно импортировать камеры и источники света.

Наряду с импортом данных из контейнеров FBX, UNIGINE также предоставляет возможность экспортировать данные в файлы .fbx .

Примечание
Чтобы ассет FBX был импортирован, должен быть загружен плагин FbxImporter.

Импорт ассета FBX#

При импорте ассета FBX (как и любого другого ассета ), появится окно настроек импорта:

Примечание
Чтобы упростить последовательный импорт нескольких похожих ресурсов, Asset Browser запоминает предыдущие настройки импорта ресурсов и предлагает использовать их по умолчанию. Чтобы сбросить настройки импорта до системных значений по умолчанию, используйте кнопку Restore Defaults.

Список доступных параметров импорта охватывает все компоненты, которые можно импортировать из сцены FBX, и включает следующее:

Параметры импорта геометрии#

Import Meshes Импорт геометрии (мешей) из файла.
Use Instances Импорт FBX с экземплярами меша. При включении импортируется один меш вместо нескольких идентичных. Если вы добавите такой FBX в сцену, все меши в Мировой иерархии будут ссылаться на один меш, хранящийся внутри импортированного контейнера FBX.
Merge Static Meshes Объединяет все дочерние статические меши в один (названную по имени родительского меша). Все поверхности всех поверхностей мешей будут скопированы и показаны в иерархии Surfaces.
Merge Surfaces by Materials Позволяет объединять поверхности с одинаковыми материалами.
Split by Grid

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

Примечание
Эта опция не разделяет поверхности.
Grid Size Размер ячейки сетки для разделения импортированных мешей в единицах.
Repivot to Center Помещает ось созданного меша в ее центр. Может использоваться для мешей, геометрия которых расположена слишком далеко от точки поворота, так как это может привести к различным артефактам (дрожание и т.д.), связанным с ошибками позиционирования.
Optimize Vertex Cache Включает оптимизацию кэша вершин. Эта опция переупорядочивает список проиндексированных треугольников для улучшения использования кэша вершин во время выполнения. Его можно отключить, чтобы ускорить процесс сохранения; однако его всегда следует включать при сохранении окончательной версии.
Correct Triangulation

Обеспечивает правильную триангуляцию мешей, NURBS и патчей.

Примечание
Отключение этой опции сокращает время импорта, но может привести к ошибкам триангуляции, приводящим к неправильной геометрии.
Import Tangent Space

Импортирует встроенные данные касательного пространства вместо их пересчета.

Примечание
Если опция отмечена, но ассет FBX не имеет касательного пространства, он будет рассчитан с ориентацией для правой системы координат.
Import Morph Targets Позволяет импортировать morph targets из файла.
Morph Target Normals

Параметр импорта morph target, который определяет способ импорта нормалей morph target. Доступны три режима:

  • None — нормали morph target такие же, как и у базового меша.
  • Import — нормали morph target импортируются из 3D-ассета.
  • Recalculate — нормали morph target пересчитываются с использованием заданного угла Morph Target Normals Angle в диапазоне [0, 180]. При максимальном значении 180 все края сглаживаются. Минимальное значение 0 делает края резко очерченными.
Use LODs Определяет должно ли использоваться автоматическое создание уровней детализации (LOD) для импортируемой модели, а также режим создания и настройки LOD-ов.

Уровни детализации#

Для создания нескольких вариаций одного объекта с разной степенью детализации ( LODs ) они должны быть представлены в виде отдельных поверхностей объекта. Это позволит вам уменьшить количество узлов в иерархии и упростить настройки видимости LOD.

UNIGINE обеспечивает автоматическое назначение и настройку уровней детализации на основе постфиксов имени, что позволяет создавать и экспортировать разные сетки для разных уровней детализации вашей модели в одном файле FBX. При именовании этих мешей вы должны добавить постфикс, чтобы указать уровень детализации, который представляет каждый меш. Вы также можете указать расстояние видимости и затухания для каждого уровня детализации вашей модели на этапе импорта, сэкономив время, так как вам не нужно настраивать эти параметры для поверхностей на сцене — выберите Combine by Postfixes в раскрывающемся списке Use LODs.

Примечание
Смотрите видеоурок на как настроить лоды Больше подробностей.

Вы также можете включить опцию Merge Static Meshes для большей оптимизации.

  1. Выберите Combine by Postfixes в раскрывающемся списке Use LODs.

    Это покажет дополнительные настройки LOD:

    Max LODs Count Количество уровней детализации.
    Postfix Постфикс имени поверхности, определяющий текущий LOD.
    Min Visibility

    Минимальное расстояние, на котором этот LOD виден в локальных осях камеры.

    -inf — LOD виден по умолчанию.

    Max Visibility

    Максимальное расстояние, на котором этот LOD виден в локальных осях камеры.

    inf — LOD виден по умолчанию.

    Min Fade

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

    Max Fade

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

  2. Выберите количество LOD, которые хранятся в контейнере FBX.
  3. Для каждого LOD определите постфикс, который будет использоваться для группировки объектов в файле FBX в соответствующий LOD.

    Примечание
    Постфикс должен быть таким же, как тот, который используется при создании объектов в 3D-редакторе.

    Имена сгенерированных поверхностей будут следующими: material_name + LOD_postfix.

  4. Укажите минимальное расстояние видимости для каждого LOD. Максимальное расстояние видимости каждого LOD равно минимальному расстоянию видимости следующего LOD. Максимальное расстояние видимости последнего LOD равно inf.

Автоматическая генерация LOD#

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

Чтобы использовать эту функцию, выберите Auto-Generated в раскрывающемся списке Use LODs и настройте параметры, перечисленные ниже. Движок сделает все остальное, автоматически сгенерировав все LODы на основе вашей конфигурации.

Max LODs Count Количество уровней детализации.
Target Polycount

Желаемая степень упрощения геометрии для каждого LOD (сложность геометрии в процентах от изначального количества полигонов).

Примечание
Пожалуйста, имейте в виду, что это только целевое значение, которое в некоторых случаях может быть недостижимо для упростителя сетки. В случае возникновения каких-либо артефактов с топологией упрощенных сеток, попробуйте увеличить это значение.
Normals Preserve Этот параметр указывает влияние нормалей на упрощение топологии сетки. Более высокие значения увеличивают влияние нормалей, при значении 0 нормали игнорируются. Избегайте установки слишком высоких значений, так как это может слишком ограничить упрощение, и упрощение не удастся (поскольку нормали могут значительно отличаться). Настройка по умолчанию подходит для большинства случаев.
Recalculate Normals by Angle Включает пересчет нормалей в процессе упрощения сетки на основе заданного порога угла. Если угол между нормалями к соседним полигонам превышает это значение, нормали между ними будут пересчитаны, чтобы сгладить внешний вид геометрии и избавиться от возможных проблем с затенением.
Visibility / Fade Distances

Смотрите их описание выше.

Параметры карт освещения#

UV For Lightmap UV канал, который будет использоваться для карт освещения.
Lightmap Target Resolution Разрешение текстуры карты освещения.
Unwrap UV Channel 0 Включает автоматическое развертывание для UV Канал 0.
Unwrap UV Channel 1 Включает автоматическое развертывание для UV Канал 1.

Параметры иерархии#

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

Nodes Список узлов, полученных из ассета FBX.
Surfaces Список поверхностей выбранного узла.
Use Custom Settings Включает индивидуальные параметры карт освещения для выбранной поверхности (ей).

Параметры импорта материалов#

Import Materials Позволяет импортировать материалы из файла.
Assets Mode

Позволяет выбрать, использовать ли существующие материалы или заменить их импортированными. Доступные варианты:

  • Take By Name From Assets Or Create New — использовать существующие материалы (если есть), если материала с таким именем нет, то создать новый материал.
  • Take By Name From Assets Without Creation — использовать существующие материалы с таким же именем (если есть), если материала с таким именем нет, то назначить материал mesh_base. Эта опция позволяет минимизировать создание ненужных материалов при импорте большого количества моделей.
  • Overwrite Assets — перезаписать существующие материалы (если есть).
Base Material Mode

Позволяет выбрать базовый материал для импортируемых материалов. Доступные Варианты:

  • Inherited Material Graphs — в качестве базового материала используется автоматически выбранный графический материал. Этот режим находит наиболее подходящий автоматически созданный графический материал с соответствующей функциональностью и наследует от него импортированные материалы. Если такого графического материала в проекте нет, то он будет сгенерирован автоматически и использован как базовый.
    Примечание
    Этот режим позволяет повторно использовать существующие базовые материалы на основе графиков и избежать создания большого количества уникальных базовых материалов при импорте файлов FBX.
  • Unique Material Graphs — в качестве базового материала используется автоматически сгенерированный графический материал. В этом режиме все импортированные материалы будут унаследованы от уникальных автоматически сгенерированных графических материалов.
  • Inherited Mesh Base mesh_base используется в качестве основного материала. В этом режиме используется значение по умолчанию mesh_base материал в качестве базового для импортных материалов.
Workflow

Предоставляет интерфейс для выбора режима для импортируемых физически корректных материалов (при наличии). Доступные варианты:

  • Metalness — использует новый стандарт текстур (альбедо, металличность, шероховатость).
  • Specular — использует старый стандарт текстур, который использовался в материале mesh_base (diffuse, specular, glow).
Add Asset Name as Prefix Позволяет добавить префикс для импортируемых материалов, чтобы избежать коллизии имен.
Add Prefix Включение этой опции заставляет имя каждого материала иметь имя импортированного ассета FBX в качестве префикса.
Merge Similar Materials Позволяет объединять материалы с одинаковыми настройками, но разными именами.

Параметры импорта анимации#

Import Animations Позволяет импортировать анимацию из файла.
Import Bones Without Skin Позволяет импортировать кости, которые не прикреплены к скелету и не влияют на skinned анимации, например, оружие, которое держит в руках персонаж. Если этот параметр отключен, такая кость не импортируется, а связанные с ней кости, если они есть, становятся сиротами.
Create Transform Bones for Joints Импортирует иерархию суставов (костей) для анимированных ресурсов FBX в виде списка World Transform Bones. Если эта опция отключена, импортированные анимации для мешей все равно будет работать.
Joints Reorientation Позволяет изменять ориентацию костей для анимации и анимированной геометрии. Если этот параметр включен, все кости будут иметь ту же прямую ось, что и геометрия. Это упрощает работу с анимацией с помощью кода для программистов, сокращая излишние манипуляции с осями: если меш имеет +Y в качестве передней оси, кости также будут иметь +Y.
Animation FPS Количество кадров в секунду импортированной анимации.
Force Loop

Принудительное сглаживание зацикленного воспроизведения анимации.

Looped Frames Количество кадров, используемых для сглаживания зацикленного воспроизведения анимации. Указанное количество кадров снимается с начала и с конца анимации. Если указанное значение превышает (total_number_of_frames)/2, вместо него используется последнее.

Другие параметры импорта#

Import Textures Позволяет импортировать текстуры из файла.
Import Lights Позволяет импортировать источники света из сцены FBX.
Import Cameras Позволяет импортировать камеры из сцены FBX.
Skip Empty Nodes Позволяет пропускать пустые узлы. Сложные CAD модели могут содержать много пустых узлов, что приводит к перегрузке мировой иерархии. Вы можете включить эту опцию, чтобы упростить сгенерированную иерархию, игнорируя узлы, не содержащие никакой полезной информации.
Front Axis Предоставляет интерфейс для выбора оси, которая будет рассматриваться как вектор "вперед" мировой системы координат.
Up Axis Предоставляет интерфейс для выбора оси, которая будет рассматриваться как вектор "вверх" мировой системы координат.
Scale

Множитель геометрического масштаба.

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

Конкретные параметры для различных типов данных, хранящихся в контейнере FBX, описаны ниже.

Геометрия#

Наиболее часто используемый тип данных, хранящихся в контейнере FBX, — это полигональная геометрия.

При импорте геометрии учитывайте следующие ограничения для мешей, установленные в UNIGINE:

Максимальное количество вершин на меш 4 294 967 295
Максимальное количество поверхностей на меш 32 768
Максимальное количество весов на вершину 4

Чтобы импортировать данные трехмерной геометрии, содержащиеся в сцене FBX, вы должны включить опцию Import Meshes.

Импортированная геометрия (такая же, как и любой объект в сцене) после добавления в мир становится узел и его можно увидеть в окне World Hierarchy. Этот узел будет иметь то же имя, что и импортированный ассет FBX, и иерархия дочерних узлов, представляющая иерархию статических мешей, содержащихся в импортированной сцене.

Вы можете объединить все дочерние объекты в один, включив опцию Merge Static Meshes. В этом случае все поверхности дочерних мешей будут скопированы в единственную родительский меш и появятся в ее иерархии Surfaces.

Поверхности одного меша, созданные вместо отдельных мешей с назначенными материалами device_calculator и glass_mat

Вы также можете объединить поверхности с одинаковым материалом, включив опцию Merge Surfaces by Materials.

Слитные по материалам поверхности

В разных приложениях 3D-моделирования можно использовать разные системы измерения. Чтобы настроить масштаб импортированной геометрии, вы можете использовать параметр Scale.

Также можно оптимизировать кеш вершин при импорте геометрии. Для этого используйте опцию Optimize Vertex Cache.

Параметр Import Tangent Space позволяет импортировать встроенные данные tangent space вместо их пересчета.

Материалы#

Контейнер FBX также может хранить материалы, назначенные поверхностям объектов в 3D-редакторе.

Чтобы импортировать материалы из контейнера FBX, вы должны включить опцию Import Materials. В этом случае поверхностям импортированной модели будут назначены соответствующие материалы.

Примечание
Если материалы импортируются, материал ресурсы создаются в подпапке materials папки, в которой хранится ассет .fbx.

Следующие текстуры будут импортированы и назначены (если есть):

  • Diffuse (albedo) texture
  • Normal map или bump map (в UNIGINE требуется преобразование в 2-х канальную карту (RG))
  • Specular texture
  • Light map

Следующие параметры материалов также будут импортированы (если они определены):

  • Diffuse color
  • Specular color и power
  • Emission color
Примечание

Если опция Import Materials отключена, всем поверхностям модели будет назначен материал по умолчанию mesh_base.

При импорте материалов может возникнуть ситуация, когда материал с заданным именем уже существует в проекте. Вы можете выбрать, перезаписывать ли существующие материалы (соответствующие ресурсы будут перезаписаны) или нет. Для этого используется опция Overwrite Existing Materials. Если этот флажок не установлен, будут использоваться существующие материалы.

В случае, когда исходная модель содержит множество объектов с множеством идентичных материалов, которые просто имеют разные имена (часто бывает, когда файл FBX был экспортирован из CAD система), такие материалы имеет смысл объединить в единый. Для этого вы должны включить опцию Merge Similar Materials.

UNIGINE поддерживает два режима для материалов PBR: Metalness и Specular. Используйте опцию Workflow, чтобы установить желаемый режим.

Текстуры#

При чтении данных материалов вы также можете импортировать текстуры, хранящиеся в контейнере FBX. Для этого включите опцию Import Textures.

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

Анимации и morph targets#

Вы можете импортировать скелетную анимацию и morph targets из файла FBX.

Чтобы импортировать анимацию из контейнера FBX:

  • Включите опцию Import Animations.
  • Укажите количество кадров в секунду для импортированной анимации в поле Animation FPS.

Чтобы импортировать morph targets, просто включите опцию Import Morph Targets. Morph targets будут импортированы как дочерние узлы.

Если у вас есть файл FBX, содержащий скелетную анимацию без какой-либо геометрии, вы можете импортировать его в свой проект UNIGINE через Import Bones Without Skin и использовать сгенерированные файлы .anim.

Источники света#

Вы можете импортировать источники света из сцены FBX (если есть), просто включив опцию Import Lights. Импортированные источники света будут добавлены как дочерние узлы к корневому узлу. Будет выполнено следующее преобразование:

  • Направленные источники света преобразуются в источники света world.
  • Точечные источники света преобразуются в источники света omni.
  • Точечные светильники преобразуются в источники света projected.

Следующие параметры источников света автоматически импортируются в UNIGINE, поэтому нет необходимости настраивать их дважды:

  • Цвет света
  • Радиус света и затухание
  • Положение и ориентация источника света

Камеры#

Камеры также можно импортировать из сцены FBX (если они существуют), просто включив опцию Import Cameras. Они конвертируются в PlayerDummy (камеры без физических свойств). В UNIGINE поддерживаются оба типа проекции:

  • Ортографический (с поддержкой ближней и дальней плоскостей отсечения Z)
  • Перспектива (с поддержкой FOV)

Для просмотра сцены через импортированную камеру выберите ее имя в раскрывающемся списке в верхнем левом углу окна Editor Viewport.

Добавление импортированного ассета FBX в сцену#

Чтобы добавить в сцену новый импортированный ассет FBX, как и любой другой ассет, просто перетащите его из окна Asset Browser в окно Viewport. Соответствующий узел будет создан и отображен в окне World Hierarchy. Этот узел будет иметь то же имя, что и импортированный ассет FBX, и иерархия дочерних узлов, представляющих отдельные объекты, содержащиеся в 3D-модели.

Нестандартные типы ресурсов геометрии (fbx, obj, dae и т.д.) являются контейнерами для мешей. Если дважды щелкнуть такой ассет в Asset Browser (или использовать команду Open правой кнопкой мыши), сгенерированная среда выполнения Будут отображены файлы .mesh, .anim и .node, хранящиеся в ассете контейнера:

Открытие контейнера FBX

Видеоурок: импорт 3D-моделей#

Последнее обновление: 18.09.2024
Build: ()