This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
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
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

Система экспорта позволяет вам использовать плагины по умолчанию и писать собственные плагины для экспорта узлов UNIGINE в файл другого формата и сохранения его на диске.

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

Export System

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

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

Экспортер#

Exporter — это модуль, используемый системой экспорта для передачи объектов UNIGINE в файлы в различных неродных форматах. Один экспортер может использоваться для экспорта нескольких узлов, но не должно быть двух или более экспортеров, зарегистрированных для одного типа узла.

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

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

Для использования экспортеры должны быть зарегистрированы в системе через Export Manager. Вы можете динамически управлять списком доступных модулей, добавляя их в реестр или удаляя из него. Когда вы экспортируете узел в любой внешний формат, система экспорта автоматически пытается найти и использовать соответствующий экспортер, зарегистрированный для указанного расширения файла.

Основной рабочий процесс экспорта узла выглядит следующим образом:

  1. Проверьте расширение указанного выходного файла и найдите подходящий экспортер среди зарегистрированных.
  2. Извлеките данные сцены из узла, создайте сцену экспорта и поместите данные в соответствующие структуры экспорта (например, узлы FBX).
  3. Используйте соответствующий экспортер для создания выходных файлов на основе метаданных сцены.

Настройка#

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

Чтобы использовать плагин FbxExporter, просто загрузите его с помощью консольной команды plugin_load или следующей параметр командной строки при запуске приложения:

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

В общем виде рабочий процесс через 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();

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

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

Встроенные параметры экспорта#

Встроенные экспортеры движка (такие как плагин FbxExporter) имеют ряд параметров экспорта, которые настраивают поведение экспортера, а также могут использоваться в пользовательских экспортерах.

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

В следующей таблице перечислены имена параметров, доступных из коробки, которые можно установить с помощью метода setParameterInt("name", value).

export_lights

Экспортирует световые узлы.

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

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

  • 0 — отключить
  • 1 — включено (по умолчанию)
export_material_normal_maps

Экспортирует карты нормалей материалов.

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

Сбрасывает корневое преобразование узла.

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

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

  • FbxExporter в качестве примера вашего пользовательского плагина экспорта: source/plugins/Export/FbxExporter.

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

  • Классы функциональности экспорта FBX для получения более подробной информации об управлении системой экспорта с помощью кода.

    Примечание
    Экспорт системного API недоступен для версии Community SDK.
Последнее обновление: 10.03.2022
Build: ()