Документация/Уроки/Экспорт моделей из Autodesk Maya

From NeoAxis Engine Wiki

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

Contents

Введение

В данном уроке будет рассмотрен экспорт моделей и материалов из пакета моделирования Autodesk Maya.

Для экспорта используется NeoAxis Engine Exporter, входящий в состав NeoAxis Engine SDK. Предназначен для экспорта трехмерных моделей из пакетов моделирования. Вы можете использовать его для экспорта моделей, материалов, анимации, а также сцен, состоящих из нескольких объектов.

В результате экспорта получаются следующие файлы:

  • .mesh - формат трехмерных моделей. Формат OGRE mesh.
  • .skeleton - формат для хранения скелета модели. Формат OGRE skeleton.
  • .highMaterial - материал NeoAxis Engine.
  • .scene - промежуточный формат сцены для импорта группы объектов в редактор карт.

Установка

Для установки экспортера зайдите в папку SDK\Tools\Exporters\Maya и запустите приложение NeoAxisEngineExporterInstaller_Maya.exe.

Maya exporter 2.jpg

Отметьте те версии Maya, в которые собираетесь установить экспортер и нажмите кнопку Install. Когда установка завершится, вы получите соответствующее сообщение.

Maya exporter 3.jpg

На этом установка завершена, экспортер готов к использованию.

Экспорт статичной модели

В качестве примера экспортируем из Maya обычную сферу с текстурой.

Maya exporter 4.jpg

Доступ к функциям экспортера осуществляется через главное меню Maya.

Maya exporter 5.jpg

В первую очередь, нужно подготовить сферу к экспорту. Для этого необходимо зайти в настройки, нажав кнопку Settings в меню NeoAxis Engine.

Maya exporter 6.jpg

Первое, что необходимо указать, это путь к директории "Data" вашего проекта. Туда будут экспортироваться модели. Чтобы выбрать папку для экспорта, нажмите на кнопку "...".

Maya exporter 7.jpg

Удобно использовать для экспорта моделей ту же директорию, что используется Resource Editor. Таким образом вы сможете сразу посмотреть на конечный результат в редакторе NeoAxis Engine. После того как директория указана, необходимо добавить сферу в список экспортируемых объектов. Для этого нажмите кнопку + в окне настроек. Появится меню со списком доступных для экспорта объектов.

Maya exporter 8.jpg

Сфера добавлена в список.

Maya exporter 9.jpg

На этом с настройками покончено, необходимо только нажать кнопку Ok в меню настроек, чтобы они вступили в силу. Чтобы приступить к эспорту модели, нажмите кнопку Export в меню NeoAxis Engine. Теперь нажмите кнопку Export в появившемся окне экспорта.

Maya exporter 10.jpg

Дождитесь завершения экспорта. После того как появилась строчка "Export is successfully finished!", экспортирование завершено. Запустите редактор ресурсов, чтобы увидеть полученный результат.

Maya exporter 18.jpg

Экспорт анимированной модели (на примере скелетной анимации)

Maya exporter 19.jpg

Экспорт анимированной модели отличается от экспорта статичной модели необходимостью указывать список экспортируемых анимаций. Для этого зайдите в меню настроек, добавьте экспортируемую модель в список объектов и настройте свойство Animations.

Maya exporter 13.jpg

Добавьте в список необходимое количество анимаций.

Maya exporter 11.jpg

Каждая анимация характеризуется уникальным именем, типом, начальным и конечным кадрами. Все эти параметры для каждой анимации вы должны указать. Наконец, для экспортирования скелетной анимации нужно установить свойство ExportSkeleton в значение True. Это свойство отвечает за экспортирование файла со скелетом трехмерной модели.

Maya exporter 12.jpg

Теперь ваша модель со скелетной анимацией готова для экспорта.

Maya exporter 20.jpg

Экспорт сцены (группы мешей)

Экспорт сцены включает в себя экспорт сразу всего списка объектов. Кроме файлов с моделями, создается промежуточный файл формата .scene. Он хранит в себе данные о положении объектов на сцене и прочую информацию. С помощью него модели импортируются в редактор карт. Рассмотрим экспорт сцены на примере экспорта трех примитивов.

Maya exporter 17.jpg

Необходимо добавить все объекты, которые нужно экспортировать, в список. В данном случае это три примитива. Помимо этого, требуется установить значение свойства ExportScene в значение True. Эти и другие настройки сцены становятся доступны при выделении корневого объекта в списке.

Maya exporter 14.jpg

Помимо этого, необходимо указать для каждого экспортируемого объекта значение False для свойства ApplyWorldTransform. Это необходимо, чтобы объект экспортировался без глобальной трансформации, которая будет храниться в файле сцены.

Maya exporter 21.jpg

Теперь остается лишь экспортировать объекты сцены и импортировать их в редакторе карт. Импорт сцены осуществляется нажатием кнопки Import objects в меню Scene File Import, которое, в свою очередь, располагается в меню File.

Maya exporter 15.jpg

Объекты сцены из Maya за несколько кликов появляются на карте в виде статических мешей.

Maya exporter 16.jpg

Полное описание экcпортера

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

Общие настройки

Свиток свойств Materials:

Параметр Описание
ExportMaterials В значении true модели экспортируются вместе с назначенным им материалами.
MaterialsDirectory Путь к директории, куда экспортируются материалы. Указывается относительно директории "Data". Если путь не указан, то материалы экспортируются в папку "Data".

Свиток свойств Meshes:

Параметр Описание
MeshesDirectory Путь к директории, куда экспортируются меши. Указывается относительно директории "Data". Если путь не указан, то меши экспортируются в папку "Data".

Свиток свойств Scenes:

Параметр Описание
ExportScene В значении true помимо моделей экспортируется промежуточный файл формата .scene, с помощью которого можно быстро импортировать все объекты сцены на карту в Map Editor.
SceneScale Коэффициент масштабирования сцены с объектами. Используется при импорте в Map Editor.
ScenesDirectory Путь к директории, куда экспортируется файл сцены. Указывается относительно директории "Data". Если путь не указан, то файл сцены экспортируется в папку "Data".

Свиток свойств Textures:

Параметр Описание
BaseMapFormat Формат, в который преобразовываются текстуры моделей, кроме карт нормалей.
ExportTextures В значении true материалы моделей экспортируются вместе с назначенным им текстурами.
NormalMapFormat Формат, в который преобразуются карты нормалей.
TexturesDirectory Путь к директории, куда экспортируются текстуры. Указывается относительно директории "Data". Если путь не указан, то текстуры экспортируются в папку "Data".

Настройки объекта

Свиток свойств General:

Параметр Описание
AllowMergeSubMeshes В значении true сабмеши одной модели объединяются, если им назначен одинаковый материал. В качестве сабмеша может выступать объект из группы.
EdgeList В значении true меш экспортируется со списком его ребер. Это необходимо только для стенсильных теней.
Name Имя объекта сцены.
Tangents В значении true меш экспортируется вместе с тангентами. Это необходимо только для карт нормалей (Normal Mapping).
VertexColors В значении true вершины меша экспортируются вместе с назначенными им цветами.

Свиток свойств Transform:

Параметр Описание
ApplyWorldTransform В значении true к мешу применяется глобальная трансформация. Таким образом вершины меша располагаются в тех же координатах, что и на сцене.
Scale Коэффициент масштабирования модели.

Свиток свойств Animation:

Параметр Описание
Animations Список анимаций модели.
ExportSkeleton В значении true модель экспортируется вместе с файлом скелета.
FrameStep Шаг, с которым экспортируются кадры анимации. Это значение показывает на сколько кадров анимации в пакете моделирования будет приходиться 1 кадр анимации экспортированной модели.
MorphInterpolationError Погрешность интерполяции при подсчете ключевых кадров в морф-анимации. Чем значение больше, тем меньше будет ключевых кадров и соответственно, меньше размер файла модели. Чем значение меньше, тем точнее будет анимация, но ключевых кадров будет больше и размер файла модели увеличится.

Свиток свойств LODs:

Параметр Описание
LODsCount Количество лодов (упрощенных копий с меньшим количеством полигонов) у объекта. Более подробно об автоматическом создании лодов можно узнать здесь.
LODsDistance Дистанция до камеры, после которой начинается следующий уровень LOD.
LODsReduction Процент граней, убирающихся на уровне LOD, по отношению к предыдущему.

Свиток свойств Scene Export Only:

Параметр Описание
AllowDecals Позволяет/запрещает прикрепление декалей к данному объекту. Если запрещено, то декали не будут отображаться на объекте (к примеру, следы от пуль, взрывов).
CastDynamicShadows Позволяет включить/выключить генерацию динамических теней об этого объекта.
CastStaticShadows Позволяет включить/выключить генерацию статических (лайтмап) теней об этого объекта.
Collision Позволяет включить/выключить просчет столкновений с объектом. Если выключено, то другие физические тела (например персонажи) будут проходить сквозь объект.
CollisionMaterialName Физический материал. Позволяет выбрать из 4 значений - Metal, Wood, Rubber, Ice. Данный параметр влияет на свойства взаимодействия физических тел. К примеру, если поставить на карту ящик, выставить в параметре Ice и подойти к нему и толкнуть, то он будет кататься и скользить как по льду.
CollisionSpecialMeshName Данный параметр позволяет заменить геометрию столкновений для данного объекта. Может использоваться для облегчения просчета сложных физических объектов. Если указать другой меш, то при столкновениях будет просчитываться именно он, а виден будет меш, указанный в параметре MeshName.
ForceMaterial Позволяет задать другой материал для объекта.
ReceiveStaticShadows Позволяет рисовать тени на данном объекте. Если параметр включен, то тени, отбрасываемые другим объектами будут рисоваться на данном объекте.
RenderingDistance Позволяет указать дистанцию, после которой объект будет не виден. При значении 0 будет прорисовываться всегда.
RenderQueueGroup Определяет очередь рендеринга объекта относительно других объектов.
SplitGeometry Позволяет автоматически разрезать меш на маленькие куски размером SplitGeometrySize. Это позволяет менеджеру сцены лучше отсекать геометрию, не попавшую в экран. Используется для больших объектов (типа комнат, зданий, внутри которых находится персонаж).
SplitGeometryPieceSize Позволяет указать размер ячеек разрезания. Чем выше значение, тем ячейки крупнее. См. SplitGeometry.

Экспорт материалов

NeoAxis Engine Exporter для Maya поддерживает экспорт свойств из следующих типов материалов:

  • Phong
  • Anisotropic
  • Blinn
  • Lambert
  • Layered Shader (используется только первый слой)
  • Surface Shader

Соответствие свойств материалов NeoAxis Engine и материалов Maya приведены в таблице ниже:

Параметр материала NeoAxis Engine Параметр материала Maya
Diffuse1Map Текстура, назначенная параметру Color (Out color для Surface Shader).
DiffuseColor Если материалу назначена текстура к параметру Color, то используется ее Color Gain. Если текстуры нет, то используется цвет параметра Color (Out Color для Surface Shader).
SpecularMap Текстура, назначенная параметру Specular color. Используется в материалах типа Blinn, Phong и Anisotropic.
SpecularColor Если материалу назначена текстура к параметру Specular Color, то используется ее Color Gain. Если текстуры нет, то используется цвет параметра Specular Color. Используется в материалах типа Blinn, Phong и Anisotropic.
SpecularShininess В материалах типа Blinn используется параметр Eccentricity. В материалах типа Phong и Anisotropic используется значение по умолчанию, равное 127.
EmissionMap Текстура, назначенная параметру Ambient Color. Используется в материалах типа Blinn, Phong, Anisotropic и Lambert.
EmissionColor Если материалу назначена текстура к параметру Ambient Color, то используется ее Color Gain. Если текстуры нет, то используется цвет параметра Ambient Color. Используется в материалах типа Blinn, Phong, Anisotropic и Lambert.
NormalMap Текстура, назначенная параметру Bump Mapping. Используется в материалах типа Blinn, Phong, Anisotropic и Lambert.

Кроме того при экспорте материалов учитывается параметр Transparency, указывающий прозрачность материала. В материалах NeoAxis Engine на прозрачность влияют два параметра: AlphaBlend и альфа-канал параметр DiffuseColor. AlphaBlend включает прозрачность, а альфа-канал у DiffuseColor указывает степень прозрачности.