This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL
Плагины
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
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
Работа с контентом
Оптимизация контента
Материалы
Material Nodes Library
Art Samples
Tutorials

Требования к 3D моделям

Данная статья описывает рекомендуемые принципы импорта 3D геометрии (3D моделей) в UNIGINE посредством редактора UnigineEditor.

GeometryГеометрия#

Рекомендуемым форматом файла для работы с 3D геометрией является формат FBX. Экспорт геометрии в файлы формата .fbx поддерживается большинством популярных редакторов: Autodesk Maya, Autodesk 3ds Max, Blender, Modo, Softimage и др.

После импорта файла геометрии .fbx в UNIGINE он автоматически конвертируется во внутренний формат MESH. Созданный .mesh файл сохраняется в папку data/.runtimes, которая создается в одной директории с оригинальным .fbx файлом.

Импортированный в UnigineEditor файл является Ассетом, "рабочей элементом" разработки виртуального мира. Добавленная геометрия (как и любой объект в сцене) является узлом (node) и виден в окне Nodes. Каждый отдельный материал, назначенный на данную геометрию, является отдельной поверхностью (surface) данного узла (поверхности находятся во вкладке Surfaces окна Parameters). Максимальное количество вершин на поверхность — 4294967295 для любого mesh объекта.

В качестве примера рассмотрим модель автомобиля: допустим, в стороннем 3D редакторе автомобиль состоит из пяти частей (корпуса и четырех колес). На корпус назначено два разных материала (краска и стекло), а на каждое из колес — один и тот же материал (резина). После экспорта данной модели в .fbx формат и последующего импорта в UNIGINE, будет создано пять различных .mesh файлов (по количеству частей модели в 3D редакторе). Каждый из четырех объектов колёс будет иметь по одной поверхности, так как был назначен один материал, корпус будет иметь две поверхности, так как было назначено два материала. Имена поверхностей при импорте будут соответствовать именам назначенных материалов в 3D редакторе. При этом материалы в UNIGINE будут созданы автоматически при импорте .fbx файла и имена также будут соответствовать именам материалов в 3D редакторе.

Texture CoordinatesТекстурные координаты#

UNIGINE поддерживает 2 UV-канала для геометрии. В настройках материалов можно указать, какой из UV-каналов использовать. Например: первый UV-канал можно использовать для непрерывно повторяющихся текстур (tiling) и текстур детализации, а второй — для карты освещения (light map).

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

При создании нескольких вариантов одного объекта с различными уровнями детализации (далее, LOD) рекомендуется создавать их в качестве отдельных поверхностей. Это позволит уменьшить количество узлов в иерархии и упростить настройку видимости уровней детализации. Количество полигонов в соседних уровнях детализации должно отличаться минимум в 2-3 раза. Оптимальное количество уровней детализации — 2 или 3 (большее количество создаст лишнюю нагрузку на CPU).

Для того, чтобы LODы (разные объекты) были импортированы из 3D редактора в UNIGINE как отдельные поверхности одного узла, при импорте необходимо выбрать опцию merge static meshes.

TexturesТекстуры#

В UNIGINE доступен импорт большинства популярных растровых форматов для текстур: .dds, .tga, .png, .jpg, .tif, .psd, .ppm, .pgm, .sgi, .rgb, .rgba, .hdr с поддержкой:

  • 8, 16 и 32 битной точности на канал;
  • альфа-канала;
  • запеченных MIP-уровней.

Для использования текстур в проекте, необходимо создать папку uncompressed для исходных текстур. При использовании (назначении) текстур из этой папки, движок UNIGINE автоматически создаст .dds файл для данной текстуры со сжатием и MIP-уровнями.

Разрешение текстур должно быть кратным степени двойки, например: 128×128, 256×256, 512×512, 1024×1024, 2048×2048 и т.п. Поддерживаются как квадратные, так и прямоугольные текстуры (например, 256×1024 пикселей).

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

К примеру, постфикс _alb предназначен для текстур альбедо (albedo), постфиксы _n и _nrgb для текстур нормалей (normal map), и т.д. Ознакомиться с полным списком постфиксом можно по ссылке.

AnimationАнимация#

В UNIGINE поддерживается skinned mesh анимация (вершинам 3D модели соответствуют кости, а у костей есть веса). Анимированная 3D модель может храниться двумя способами:

  • только в .mesh файле, который содержит в себе и кости (и их веса) и геометрию 3D модели. Данный вариант подходит для простых объектов с одним типом анимации (например, двери лифта);
  • отдельно в двух файлах: .mesh, который содержит только геометрию 3d модели и .anim, который содержит только кости и их веса. Данный вариант удобен для сложных 3D моделей с множеством анимаций (например, персонаж).

Для сохранения анимации в .fbx формате, при экспорте из 3D редактора необходимо активировать опции Animation и Bake Animation и указать, какие кадры необходимо запечь перед экспортом. При импорте .fbx файла с анимацией в UnigineEditor, будет создан .mesh содержащий геометрию, и отдельно .anim файл содержащий анимацию для этой геометрии.

Максимальное количество костей на поверхность — 128. Максимальное количество весов на вершину — 4.

NamesИмена#

Желательно использовать в именах файлов и поверхностей английский язык, нижний регистр, без пробелов.

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