Система экспорта
Система экспорта позволяет вам использовать плагины по умолчанию и писать собственные плагины для экспорта узлов UNIGINE в файл другого формата и сохранения его на диске.
Структура системы экспорта показана ниже. Он включает в себя диспетчер экспорта и динамический набор экспортеры для различных форматов внешних файлов.
Менеджер экспорта используется для создания экспортеров и управления ими, а также для прямого экспорта файлов в неродные форматы, если ранее был зарегистрирован экспортер для таких файлов.
Экспортер#
Exporter — это модуль, используемый системой экспорта для передачи объектов UNIGINE в файлы в различных неродных форматах. Один экспортер может использоваться для экспорта нескольких узлов, но не должно быть двух или более экспортеров, зарегистрированных для одного типа узла.
Каждый экспортер имеет набор параметров, управляющих всем процессом экспорта (например, экспортировать ли источники света, камеры и карты нормалей материалов, сбросить преобразование корневого узла и т. д.). Экспортер должен быть инициализирован перед использованием.
Основной рабочий процесс#
Для использования экспортеры должны быть зарегистрированы в системе через Export Manager. Вы можете динамически управлять списком доступных модулей, добавляя их в реестр или удаляя из него. Когда вы экспортируете узел в любой внешний формат, система экспорта автоматически пытается найти и использовать соответствующий экспортер, зарегистрированный для указанного расширения файла.
Основной рабочий процесс экспорта узла выглядит следующим образом:
- Проверьте расширение указанного выходного файла и найдите подходящий экспортер среди зарегистрированных.
- Извлеките данные сцены из узла, создайте сцену экспорта и поместите данные в соответствующие структуры экспорта (например, узлы FBX).
- Используйте соответствующий экспортер для создания выходных файлов на основе метаданных сцены.
Настройка#
Вы можете рассмотреть плагин FbxExporter в качестве примера для создания собственных пользовательских модулей экспорта. Вы также можете изменить и перестроить этот плагин, чтобы использовать свой собственный экспортер в редакторе.
Чтобы использовать плагин FbxExporter, просто загрузите его с помощью консольной команды plugin_load или следующей параметр командной строки при запуске приложения:
-extern_plugin FbxExporter
В общем виде рабочий процесс через C++ API можно представить следующим образом:
// create an exporter for the exported file ("1.fbx" in our case)
Unigine::Exporter* exporter = Unigine::Export::get()->createExporterByFileName("1.fbx");
// enable the "export_material_normal_maps" parameter
exporter->setParameterInt("export_material_normal_maps", 1);
// initialize exporter
exporter->init();
// get the node
NodePtr node = World::getNodeByName("material_ball");
// export the node to the specified file path
exporter->doExport(node, "1.fbx");
// exporter deinitialization
exporter->deinit();
Вы также можете экспортировать узел с настройками по умолчанию следующим образом:
// get the node
NodePtr node = World::getNodeByName("material_ball");
// export the node to the file of specified format
Unigine::Export::get()->doExport(node, "../data/1/1.fbx")
Встроенные параметры экспорта#
Встроенные экспортеры движка (такие как плагин FbxExporter) имеют ряд параметров экспорта, которые настраивают поведение экспортера, а также могут использоваться в пользовательских экспортерах.
Имена параметров#
В следующей таблице перечислены имена параметров, доступных из коробки, которые можно установить с помощью метода setParameterInt("name", value).
Смотрите также#
- FbxExporter в качестве примера вашего пользовательского плагина экспорта: source/plugins/Export/FbxExporter.
API системы экспорта Fbx:
Классы функциональности экспорта FBX для получения более подробной информации об управлении системой экспорта с помощью кода.
Экспорт системного API недоступен для версии Community SDK.