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.

Система экспорта

Внимание
Функционал, описанный в этой статье, недоступен в Community редакции SDK.
Чтобы использовать этот функционал вам необходимо получить лицензию на Engineering / Sim SDK.

The Export System allows you to use default plugins and write custom ones to export UNIGINE's nodes to a file of different format and store it on a disk.Система экспорта позволяет вам использовать плагины по умолчанию и писать собственные плагины для экспорта узлов UNIGINE в файл другого формата и сохранения его на диске.

The structure of Export System is shown below. It includes Export Manager and a dynamic set of exporters for various external file formats.Структура системы экспорта показана ниже. Он включает в себя диспетчер экспорта и динамический набор экспортеры для различных форматов внешних файлов.

Export System

Export System StructureЭкспорт структуры системы

Export Manager is used to create and manage exporters, as well as to directly export files to non-native formats, if an exporter for such files was previously registered.Менеджер экспорта используется для создания экспортеров и управления ими, а также для прямого экспорта файлов в неродные форматы, если ранее был зарегистрирован экспортер для таких файлов.

ExporterЭкспортер#

Exporter is a module used by Export System to transfer UNIGINE's objects to files in various non-native formats. A single exporter can be used to export multiple nodes, but there shouldn't be two or more exporters registered for a single node type.Exporter — это модуль, используемый системой экспорта для передачи объектов UNIGINE в файлы в различных неродных форматах. Один экспортер может использоваться для экспорта нескольких узлов, но не должно быть двух или более экспортеров, зарегистрированных для одного типа узла.

Each exporter has a set of parameters that control the whole export process (e.g., whether to export lights, cameras, and material normal maps, reset root node transformation, etc.). The exporter should be initialized before the use.Каждый экспортер имеет набор параметров, управляющих всем процессом экспорта (например, экспортировать ли источники света, камеры и карты нормалей материалов, сбросить преобразование корневого узла и т. д.). Экспортер должен быть инициализирован перед использованием.

Basic WorkflowОсновной рабочий процесс#

In order to be used, exporters must be registered in the system via Export Manager. You can manage the list of available modules dynamically by adding them to or removing from the registry. When you export a node to any external format, Export System automatically tries to find and use an appropriate exporter registered for the specified file extension.Для использования экспортеры должны быть зарегистрированы в системе через Export Manager. Вы можете динамически управлять списком доступных модулей, добавляя их в реестр или удаляя из него. Когда вы экспортируете узел в любой внешний формат, система экспорта автоматически пытается найти и использовать соответствующий экспортер, зарегистрированный для указанного расширения файла.

The basic node export workflow is as follows:Основной рабочий процесс экспорта узла выглядит следующим образом:

  1. Check the extension of the specified output file and find the appropriate exporter among the registered ones.Проверьте расширение указанного выходного файла и найдите подходящий экспортер среди зарегистрированных.
  2. Extract scene data from the node, create the export scene and put the data to the corresponding export structures (e.g., FBX nodes).Извлеките данные сцены из узла, создайте сцену экспорта и поместите данные в соответствующие структуры экспорта (например, узлы FBX).
  3. Use the appropriate exporter to generate output files on the basis of scene metadata.Используйте соответствующий экспортер для создания выходных файлов на основе метаданных сцены.

CustomizationНастройка#

You can consider the FbxExporter plugin as an example to build your own custom exporting modules. You can also modify and rebuild this plugin to use your own custom exporter in the Editor.Вы можете рассмотреть плагин FbxExporter в качестве примера для создания собственных пользовательских модулей экспорта. Вы также можете изменить и перестроить этот плагин, чтобы использовать свой собственный экспортер в редакторе.

To use the FbxExporter plugin, just load it via the plugin_load console command or the following command line option on the application start-up:Чтобы использовать плагин FbxExporter, просто загрузите его с помощью консольной команды plugin_load или следующей параметр командной строки при запуске приложения:

Shell-команды
-extern_plugin FbxExporter

In general, the workflow via the C++ API may be represented as follows:В общем виде рабочий процесс через C++ API можно представить следующим образом:

Исходный код (C++)
// 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();

You can also export a node with default settings simply like this:Вы также можете экспортировать узел с настройками по умолчанию следующим образом:

Исходный код (C++)
// 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")

Built-in Export OptionsВстроенные параметры экспорта#

The engine's built-in exporters (such as FbxExporter plugin) have a number of export options that customize the exporter's behavior and can also be used in custom exporters.Встроенные экспортеры движка (такие как плагин FbxExporter) имеют ряд параметров экспорта, которые настраивают поведение экспортера, а также могут использоваться в пользовательских экспортерах.

Parameter NamesИмена параметров#

The following table lists the names for the parameters available out of the box that can be set via the setParameterInt("name", value) method.В следующей таблице перечислены имена параметров, доступных из коробки, которые можно установить с помощью метода setParameterInt("name", value).

export_lights

Exports the light nodes.Экспортирует световые узлы.

  • 0 — disabled0 — отключено
  • 1 — to enable (by default)1 — включить (по умолчанию)
export_cameras

Exports the camera nodes.Экспорт узлов камеры.

  • 0 — disable0 — отключить
  • 1 — enabled (by default)1 — включено (по умолчанию)
export_surface_to_node

Exports all surfaces as separate meshes inside the target FBX container.Экспортирует все поверхности как отдельные меши внутри контейнера FBX.

  • 0 — disabled0 — disabled
  • 1 — to enable (by default)1 — to enable (by default)
export_material_normal_maps

Exports normal maps of materials.Экспортирует карты нормалей материалов.

  • 0 — disabled0 — отключено
  • 1 — to enable (by default)1 — включить (по умолчанию)
reset_root_node_transformation

Resets the node's root transformation.Сбрасывает корневое преобразование узла.

  • 0 — disabled (by default)0 — отключено (по умолчанию)
  • 1 — to enable1 — включить

See AlsoСмотрите также#

  • FbxExporter plugin as an a example for your custom export plugin: source/plugins/Export/FbxExporter.FbxExporter в качестве примера вашего пользовательского плагина экспорта: source/plugins/Export/FbxExporter.

Fbx Export System API:API системы экспорта Fbx:

  • FBX Export Functionality classes for more details on managing the Export System via code.Классы функциональности экспорта FBX для получения более подробной информации об управлении системой экспорта с помощью кода.

    Примечание
    Export System API is not available for the Community SDK edition.Экспорт системного API недоступен для версии Community SDK.
Последнее обновление: 06.07.2023
Build: ()