This page has been translated automatically.
Программирование
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

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

Геометрия

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

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

Добавленная геометрия (как и любой объект в сцене) является узлом (node) и виден в окне Nodes. Каждый отдельный материал, назначенный на данную геометрию, является отдельной поверхностью (surface) данного узла (поверхности находятся во вкладке Surfaces окна Nodes). Максимальное количество вершин на поверхность:

В качестве примера рассмотрим модель автомобиля: допустим, в стороннем 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 знает, для чего будет использоваться та или иная текстура и будет использовать соответствующие алгоритмы сжатия и работать с определенными цветовыми каналами. Примеры постфиксов:

Анимация

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

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

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

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

Имена

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

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