Документация/Статьи/Обзор редактора импорта моделей

From NeoAxis 3D Engine Wiki

Jump to: navigation, search
Перейти на уровень выше

Contents

Введение

Редактор импорта моделей является частью редактора ресурсов. Предназначен для импорта 3D моделей в движок. Следует отметить, что для импорта моделей из пакетов 3dsMax и Maya, существует специально разработанные экспортеры, которые более удобны, нежели данный редактор. Также, можно использовать упрощенный импорт моделей и далее продолжить настройку в этом редакторе.

Обзор редактора импорта моделей

В редакторе импорта моделей поддерживается множество различных форматов, наиболее популярные из которых:

  • FBX (рекомендуемый формат),
  • Collada (рекомендуемый формат),
  • [1],
  • 3ds,
  • X,
  • OBJ.

Полный список поддерживаемых форматов находится в списке поддерживаемых форматов.

Для того, чтобы импортировать в движок 3D модель, нужно выполнить следующие действия:

  • создать файл настроек импорта,
  • открыть и настроть файл импорта (выставить нужные параметры для положения объектов, настроить анимацию и т.п.),
  • сгенерировать меши и материалы.

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

Сгенерированные меши и материалы хранят в себе связь с исходным файлом 3D модели. Если исходный файл с моделью был изменен, то сгенерированные меши и материалы будут обновлены автоматически. Если вручную отредактировать меши или материалы в редакторе ресурсов, то связь с исходным файлом модели будет удалена и в дальнейшем сгенерированные ресурсы автоматически обновляться не будут.

Импорт вершинной (morph) анимации не поддерживается.

Список поддерживаемых форматов

В колонке Экспорт из движка отмечены форматы, в которые могут быть преобразованы модели используемые движком. Чтобы экспортировать .mesh файл в другой формат, нужно открыть контекстное меню, щелкнув правой кнопкой мыши по файлу модели, и выбрать пункт Convert to another format.

Формат Импорт статичных моделей Импорт скелетной анимации Экспорт из движка
3d
Yes.jpg
No.jpg
No.jpg
3ds
Yes.jpg
No.jpg
No.jpg
ac
Yes.jpg
No.jpg
No.jpg
ac3d
Yes.jpg
No.jpg
No.jpg
acc
Yes.jpg
No.jpg
No.jpg
ase
Yes.jpg
No.jpg
No.jpg
ask
Yes.jpg
No.jpg
No.jpg
b3d
Yes.jpg
Yes.jpg
No.jpg
blend Не все модификаторы поддерживаются. Рекомендуется импортировать через FBX или DAE формат из Blender.
No.jpg
No.jpg
bvh
Yes.jpg
No.jpg
No.jpg
cob
Yes.jpg
No.jpg
No.jpg
dxf
Yes.jpg
No.jpg
No.jpg
dae
Yes.jpg
Yes.jpg
Yes.jpg
enff
Yes.jpg
No.jpg
No.jpg
hmp
Yes.jpg
No.jpg
No.jpg
ifc
Yes.jpg
No.jpg
No.jpg
irr
Yes.jpg
No.jpg
No.jpg
irrmesh
Yes.jpg
No.jpg
No.jpg
fbx
Yes.jpg
Yes.jpg
Yes.jpg
lwo
Yes.jpg
No.jpg
No.jpg
lws
Yes.jpg
No.jpg
No.jpg
lxo
Yes.jpg
No.jpg
No.jpg
md2
Yes.jpg
No.jpg
No.jpg
md3
Yes.jpg
No.jpg
No.jpg
md5
Yes.jpg
Yes.jpg
No.jpg
mdc
Yes.jpg
No.jpg
No.jpg
mdl
Yes.jpg
No.jpg
No.jpg
mot
Yes.jpg
No.jpg
No.jpg
ms3d
Yes.jpg
Может вызывать критическую ошибку
No.jpg
ndo
Yes.jpg
No.jpg
No.jpg
nff
Yes.jpg
No.jpg
No.jpg
obj
Yes.jpg
No.jpg
No.jpg
off
Yes.jpg
No.jpg
No.jpg
pk3
Yes.jpg
No.jpg
No.jpg
ply
Yes.jpg
No.jpg
No.jpg
x
Yes.jpg
Yes.jpg
No.jpg

Настройки редактора

Чтобы попасть в окно настроек редактора импорта, нужно выбрать в главном меню пункт Tools -> Options и перейти в появившемся окне в раздел Model Import.

ModelImportEditor 02.jpg

Вкладка General в настройках содержит четыре параметра:

Параметр Описание
General
Background Color Цвет фона рабочего окна.

Примечание: цвет фона виден в том случае, если не используется Sky Box.

Show Axes Включить/выключить отображение осей координат.
Show Grid Включить/выключить отображение сетки. Размер одной клетки по умолчанию равен 1 метру.
Sky Box Текстура неба. Используется, для включения неба (Skybox), отображаемого в качестве фона редактора.

Уроки

В данном разделе будут рассмотрены два урока, в которых описано как с помощью редактора импорта добавить в движок статичную и анимированную модели.

Наиболее предпочтительные форматы для импорта - это FBX и Collada. О том, как в пакете моделирования экспортировать модель в формат Collada, можно прочитать статье экспорт моделей из Blender, Autodesk Softimage и других пакетов.

Урок — Импорт статичной модели

В этом уроке мы научимся импортировать статичную модель в движок.

Начнем с того, что создадим файл настроек импорта для модели. Для этого выделим файл исходной модели. В нашем примере это ColladaTest.dae, найти который можно в папке "Data\_ResourceEditorSamples\Importing3DModel\Stone". Далее с помощью правой кнопки мыши, вызовем контекстное меню и выберем в нем пункт Import Model.

ModelImportEditor 03.jpg

Затем перейдем в режим редактирования настроек импорта. Для этого щелкнем дважды по файлу с настройками (в нашем случае это ColladaTest.modelImport) или вызовем контекстное меню и выберем в нем пункт Edit.

ModelImportEditor 04.jpg

После переходе в режим редактирования, в правом верхнем углу будет находиться окно Objects со списком объектов для импорта. Выделим источник данных в окне. Также можно выделить источник, щелкнув по нему в рабочей области редактора.

ModelImportEditor 05.jpg

Щелкнем правой кнопкой мыши на источнике и в появившемся контекстном меню выберем пункт Create Mesh with Selected Sources. Данное действие добавит меш на основе выделенного источника в список объектов. Важно уметь различать меше и источник. Мешем является объект, который будет создан как .mesh файл и может использоваться движком в качестве 3D модели. Подмешами (Submesh) результируюшего меша станут источники.

ModelImportEditor 06.jpg

Теперь отредактируем положение меша. Сначала выделим в окне Objects созданный меш.

ModelImportEditor 07.jpg

Начнем с настройки центра координат (pivot) импортируемой модели. Для этого выберем инструмент "перемещение" в главной панели. Чтобы переместить центр координат (pivot) вниз, потянем за ось Z. Таким образом можно настроить центр меша.

ModelImportEditor 08.jpg

Также можно настроить положение источника в координатах меша. Обычно это полезно, когда результирующий меш содержит в себе несколько источников. Выберем источник в окне Objects.

ModelImportEditor 09.jpg

Повернем источник. Для этого выберем инструмент "поворот" в главной панели. Затем потянем за ось поворота, чтобы повернуть источник на 90 градусов по оси Z.

ModelImportEditor 10.jpg

Теперь сохраним наши настройки импорта, щелкнув по кнопке сохранения в главном меню.

После настройки импорта приступим к генерации файлов: меша и материала. Для этого нажмем кнопку Create Files под окном Properties.

ModelImportEditor 11.jpg

Если создание файлов прошло без ошибок, то появится сообщение об успешном завершении импорта. В дереве ресурсов появятся новые файлы, в нашем случае это ColladaTest.mesh и ColladaTestStoneStatic.highMaterial.

На этом импорт модели завершен. Чтобы убедиться, что файлы сгенерированы правильно, откроем файл с мешем. Как видим, импорт модели прошел успешно. На этом урок по импорту статичной модели подошел к концу.

ModelImportEditor 12.jpg

Урок — Импорт анимированной модели

В этом уроке мы научимся импортировать в движок анимированные модели. В качестве тестовой модели будет использован файл PigA.x, который можно найти в папке "Data\_ResourceEditorSamples\Importing3DModel\Animated".

Подготовительная часть импорта анимированной модели ничем не отличается от импорта статичной модели. Данный процесс подробно описан в предыдущем уроке. Эту часть мы пропустим.

После настройки меша, приступим к настройке импорта анимации. Начнем с того, что выделим меш и нажмем кнопку "..." в поле Animations группы параметров Animation.

ModelImportEditor 13.jpg

В появившемся окне нажмем кнопку Add для того, чтобы добавить новый анимационный трек.

ModelImportEditor 14.jpg

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

ModelImportEditor 15.jpg

Таким же образом добавим и настроим остальные анимации. После чего нажмем кнопку OK.

ModelImportEditor 16.jpg

Далее установим свойство CreateSkeleton в значение True для того, чтобы при генерации файлов был создан файл скелета.

ModelImportEditor 17.jpg

Сохраним настройки импорта, нажав на кнопку с изображением дискеты в главной панели.

Чтобы завершить импорт модели с анимацией, нам осталось сгенерировать файлы меша, скелета и материала. Для этого нажмем на кнопку Create Files, расположенную под окном свойств.

ModelImportEditor 18.jpg

Если создание файлов прошло без ошибок, то появится окно, сообщающее об этом.

На этом импорт модели завершен. Чтобы убедиться, что файлы сгенерированы правильно, откроем файл с мешем. Как видим, импорт модели прошел успешно. На этом урок подошел к концу.

ModelImportEditor 19.jpg

Свойства импорта

В данном разделе описаны свойства импорта сцены, меша и источника.

Свойства импорта сцены

Свойство Описание
_General
SourceFile Путь к файлу с исходной моделью.
Materials
GenerateMaterials Разрешить/запретить создание материалов. Если выбрано значение True, то будет созданы .highMaterial файлы.
MaterialsNamePrefix Префикс, который будет использован для именования создаваемых материалов.
OverrideMaterialDirectory Директория для материалов. В случае, если директория не задана, то созданные материалы помещаются в директорию с исходной моделью. Если директория задана, то созданные материалы помещаются в нее.
RenameMaterials Список материалов для переименования. В списке указываются исходные имена материалов и соответствующие новые имена.
Meshes
MaxTextureCoordChannelCount Максимальное число задействованных текстурных каналов. Значение по умолчанию — 4.
OverrideMeshDirectory Переопределенная директория для мешей. В случае, если директория не задана, то созданные меши помещаются в директорию с исходной моделью. Если директория задана, то созданные меши помещаются в нее.
Textures
BaseMapFormat Формат основных текстур. В случае, если задано значение Original, то будет использоваться исходный формат текстур. Если задано иное значение, то текстуры будут преобразованы в указанный формат.
GenerateTextures Разрешить/запретить создание текстур.
NormalMapFormat Формат карт нормалей. В случае, если задано значение Original, то будет использоваться исходный формат текстур. Если задано иное значение, то карты нормалей будут преобразованы в указанный формат.
OverrideTextureDirectory Переопределенная директория для текстур. Если параметр не задан, то текстуры копируются в директорию с исходной моделью. Если директория указана, то текстуры копируются в нее.
Transform
OutputScale Коэффициент масштабирования 3D модели.

Свойства меша

Свойство Описание
_General
AllowMergeSubMeshes Разрешить/запретить объединять подмеши. Если выбрано значение True, подмеши с одинаковым материалом и форматом вершин объединяются в один.
EdgeList Разрешить/запретить импорт списка ребер. Если выбрано значение True, меш импортируется вместе со списком ребер. Эти данные используются для стенсильных теней.
MergeCloseVertices Разрешить/запретить объединение близко расположенных вершин.
MergeCloseVerticesRadius Максимальное расстояние между близко расположенными вершинами. Используется совместно с включенным флагом MergeCloseVertices. Если расстояние между двумя вершинами меньше заданного значения, вершины считаются близко расположенными и их можно объединить.
Name Имя меша.
Tangents Разрешить/запретить импорт векторов касательных (тангентов). Если выбрано значение True, меш импортируется вместе с тангентами. Эти данные используются для карт нормалей.
VertexColors Разрешить/запретить импорт цветов вершин. Если выбрано значение True, меш импортируется вместе с цветами вершин.
_Transform
PivotPosition Координаты центра координат меша после импорта.
PivotRotation Поворот осей координат меша после импорта.
Animation
Animations Список анимаций меша. Каждая анимация имеет имя, а также номер начального и конечного кадров.
AnimationSpeed Множитель скорости анимаций. Если указано значение 1, то скорость воспроизведения анимаций совпадает с исходной.
CreateSkeleton Разрешить/запретить создание файла скелета. Если выбрано значение True, а также у исходной модели имеется скелет, то при создании мешей будут созданы файлы скелета.
FrameStep Частота дискретизации для кадров анимации. Если выбрано значение 0, то дискретизация выключена.
InterpolationError Ошибка интерполяции для анимации. Данный параметр используется при оптимизации анимации (сокращении числа ключевых кадров). Если выбрано значение 0, то оптимизация выключена.
RemoveUnusedBones Разрешить/запретить удаление неиспользуемых костей скелета. Если выбрано значение True, то, несвязанные с вершинами, кости будут удалены.
LODs
LODsCount Количество уровней детализации модели (лодов). Более подробно об автоматическом создании лодов можно узнать в описании редактора мешей. По умолчанию генерация уровней детализации отключена.
LODsDistance Дистанция до камеры, после которой начинается следующий уровень LOD.
LODsReduction Процент граней, убирающихся на уровне LOD, по отношению к предыдущему.

Свойства источника

Свойство Описание
General
AllowCollision Разрешить/запретить столкновения в физическоом движке с данным подмешем. В дальнейшем этот параметр будет использован физической системой.
TextUserDictionary Пользовательская текстовая информация. Текстовая информация для нужд пользователя, добавляемая в генерируемый подмеш. Информация представляется списком элементов в виде ключзначение.
UVUnwrapChannel Канал с текстурной разверткой. В значении None канал для развертки не указывается. Текстурная развертка используется для статичного освещения.
Geometry
InvertNormals Включить/выключить инвертирование нормалей. Если выбрано значение True, то нормали будут инвертированы.
Material
InvertUCoordinate Включить/выключить инвертирование U значений текстурных координат. Если выбрано значение True, то текстурная координата U для данного источника инвертируется.
InvertVCoordinate Включить или выключить инвертирование V значений текстурных координат. Если выбрано значение True, то текстурная координата V для данного источника инвертируется.
OverrideMaterial Имя переопределенного материала. Если имя материала не задано, то используется материал, указанный в исходной модели.
Source
Name Имя источника.
Transform
Position Смещение относительно родительского меша. Параметр игнорируется, если генерируется файл скелета.
Rotation Поворот относительно родительского меша. Параметр игнорируется, если генерируется файл скелета.
Scale Масштабирование относительно родительского меша. Параметр игнорируется, если генерируется файл скелета.