This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
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
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

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

Геометрия#

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

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

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

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

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

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

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

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

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

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

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

Текстуры#

В 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), и т.д. Ознакомиться с полным списком постфиксом можно по ссылке.

Анимация#

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

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

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

В UNIGINE установлены следующие ограничения:

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

Имена#

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

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