ResourceImporterScene
Наследует: ResourceImporter < RefCounted < Object
Импортирует сцену glTF, FBX, COLLADA или Blender 3D.
Описание
См. также ResourceImporterOBJ, который используется для моделей OBJ, которые можно импортировать как независимую Mesh или сцену.
Дополнительные параметры (например, извлечение отдельных сеток или материалов в файлы) доступны в диалоговом окне Расширенные параметры импорта. Доступ к этому диалоговому окну можно получить, дважды щелкнув 3D-сцену в доке FileSystem или выбрав 3D-сцену в доке FileSystem, перейдя в док Import и выбрав Расширенный.
Примечание: ResourceImporterScene не используется для PackedScene, таких как файлы .tscn и .scn.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Описания свойств
Dictionary _subresources = {} 🔗
Содержит свойства для подресурсов сцены. Это внутренняя опция, которая не видна в Доке импорта.
Число кадров в секунду, используемое для запекания кривых анимации в серии точек с линейной интерполяцией. Рекомендуется настроить это значение так, чтобы оно соответствовало значению, которое вы используете в качестве базового в вашем программном обеспечении для 3D-моделирования. Более высокие значения приводят к более точной анимации с быстрыми изменениями движения, за счет более высоких размеров файлов и использования памяти. Благодаря интерполяции обычно нет особой выгоды от перехода выше 30 FPS (поскольку анимация все равно будет выглядеть плавной при более высокой частоте кадров рендеринга).
bool animation/import = true 🔗
Если true, импортировать анимацию из 3D-сцены.
bool animation/import_rest_as_RESET = false 🔗
Если true, добавляет Animation с именем RESET, содержащий Skeleton3D.get_bone_rest() из узлов Skeleton3D. Это может быть полезно для извлечения анимации в опорной позе.
bool animation/remove_immutable_tracks = true 🔗
Если true, удалить дорожки анимации, которые содержат только значения по умолчанию. Это может уменьшить размер выходного файла и использование памяти для определенных 3D-сцен, в зависимости от содержимого их дорожек анимации.
bool animation/trimming = false 🔗
Если true, обрезает начало и конец анимации, если нет изменений ключевых кадров. Это может уменьшить размер выходного файла и использование памяти для определенных 3D-сцен, в зависимости от содержимого их анимационных дорожек.
String import_script/path = "" 🔗
Путь к скрипту импорта, который может запустить код после завершения процесса импорта для пользовательской обработки. См. Использование скриптов импорта для автоматизации для получения дополнительной информации.
Режим извлечения материала.
0 (Keep Internal), материалы не извлекаются.1 (Extract Once), Материалы извлекаются один раз и повторно используются при последующем импорте.2 (Extract and Overwrite), Материалы извлекаются и перезаписываются при каждом импорте.
int materials/extract_format = 0 🔗
Формат файла извлеченного материала.
0 (Text), формат текстового файла (*.tres).1 (Binary), двоичный формат файла (*.res).2 (Material), двоичный формат файла (*.material).
String materials/extract_path = "" 🔗
Путь, по которому сохраняются извлеченные материалы. Если путь пуст, используется путь к исходной сцене.
bool meshes/create_shadow_meshes = true 🔗
Если true, включает генерацию теневых сеток при импорте. Это оптимизирует рендеринг теней без снижения качества путем объединения вершин, когда это возможно. Это, в свою очередь, снижает пропускную способность памяти, необходимую для рендеринга теней. Генерация теневых сеток в настоящее время не поддерживает использование более низкого уровня детализации, чем исходная сетка (но рендеринг теней будет использовать LOD, когда это уместно).
bool meshes/ensure_tangents = true 🔗
Если true, сгенерируйте касательные вершин с помощью Mikktspace, если входные сетки не имеют данных касательных. Когда это возможно, рекомендуется позволить программному обеспечению для 3D-моделирования генерировать касательные при экспорте вместо того, чтобы полагаться на эту опцию. Касательные требуются для правильного отображения карт нормалей и высот, а также любых функций материалов/шейдеров, которым требуются касательные.
Если вам не нужны функции материалов, которым требуются касательные, отключение этого параметра может уменьшить размер выходного файла и ускорить импорт, если исходный 3D-файл не содержит касательных.
bool meshes/force_disable_compression = false 🔗
Если true, сжатие сетки не будет использоваться. Рассмотрите возможность включения, если вы заметили блочные артефакты в нормалях сетки или UV, или если у вас есть сетки, которые больше нескольких тысяч метров в каждом направлении.
bool meshes/generate_lods = true 🔗
Если true, генерирует варианты сетки с более низкой степенью детализации, которые будут отображаться на расстоянии для повышения производительности рендеринга. Не все сетки выигрывают от LOD, особенно если они никогда не визуализируются издалека. Отключение этого может уменьшить размер выходного файла и ускорить импорт. См. Уровень детализации сетки (LOD) для получения дополнительной информации.
Настраивает GeometryInstance3D.gi_mode сеток в 3D-сцене. Если установлено значение Static Lightmaps, устанавливает режим GI сеток на Static и генерирует UV2 при импорте для запекания LightmapGI.
float meshes/lightmap_texel_size = 0.2 🔗
Управляет размером каждого текселя на запеченной карте освещения. Меньшее значение приводит к более точным картам освещения за счет большего размера карты освещения и более длительного времени запекания.
Примечание: Эффективно только если meshes/light_baking установлен на Static Lightmaps.
bool nodes/apply_root_scale = true 🔗
Если true, nodes/root_scale будет применен к дочерним узлам, сеткам, анимациям, костям и т. д. Это означает, что если вы добавите дочерний узел позже в импортированную сцену, он не будет масштабироваться. Если false, nodes/root_scale вместо этого умножит масштаб корневого узла.
bool nodes/import_as_skeleton_bones = false 🔗
Обрабатывать все узлы в импортированной сцене так, как будто они являются костями в пределах одного Skeleton3D. Может использоваться для гарантии того, что импортированные анимации будут нацелены на кости скелета, а не на узлы. Может также использоваться для назначения кости "Root" в BoneMap. Для получения дополнительной информации см. Перенацеливание 3D-скелетов.
Переопределить имя корневого узла. Если пусто, корневой узел будет использовать то, что указано в сцене, или имя файла, если в сцене не указано корневое имя.
float nodes/root_scale = 1.0 🔗
Единый масштаб для использования в корне сцены. Значение по умолчанию 1.0 не будет выполнять никакого масштабирования. Подробности применения этого масштаба см. в nodes/apply_root_scale.
Script nodes/root_script = null 🔗
Если задан допустимый скрипт, он прикрепляется к корневому узлу импортированной сцены. Если тип корневого узла несовместим со скриптом, корневой узел будет заменён типом, совместимым со скриптом. Этот параметр также можно использовать для других узлов сцены, не являющихся сеткой, для присоединения к ним скриптов.
Переопределить тип корневого узла. Если пусто, корневой узел будет использовать то, что указано в сцене, или Node3D, если в сцене не указан корневой тип. Рекомендуется использовать тип узла, который наследуется от Node3D. В противном случае вы потеряете возможность позиционировать узел напрямую в 3D-редакторе.
bool nodes/use_name_suffixes = true 🔗
Если true, то будут использоваться суффиксы в именах импортируемых объектов, таких как узлы и ресурсы, для определения типов и свойств, например, -noimp для пропуска импорта узла или анимации, -alpha для включения альфа-прозрачности для материала и -vcol для включения цветов вершин для материала. Отключение этого параметра делает импортированные редактором файлы более похожими на исходные файлы и более похожими на файлы, импортированные во время выполнения. См. Настройка типа узла с использованием суффиксов имен для получения дополнительной информации.
bool nodes/use_node_type_suffixes = true 🔗
Если true, будут использоваться суффиксы в именах узлов для определения типа узла, например, -col для форм столкновений. Это используется только тогда, когда nodes/use_name_suffixes равно true. Отключение этого параметра делает импортированные редактором файлы более похожими на исходные файлы и более похожими на файлы, импортированные во время выполнения. Для получения дополнительной информации см. Настройка типа узла с использованием суффиксов имен.
bool skins/use_named_skins = true 🔗
Если отмечено, используйте именованные Skin-ы для анимации. Узел MeshInstance3D содержит 3 важных свойства: скелет NodePath, указывающий на узел Skeleton3D (обычно ..), сетку и скин:
Узел Skeleton3D содержит список костей с именами, их позу и покой, имя и родительскую кость.
Сетка — это все необработанные данные вершин, необходимые для отображения сетки. С точки зрения сетки, она знает, как вершины раскрашиваются по весу, и использует некоторую внутреннюю нумерацию, часто импортируемую из программного обеспечения для 3D-моделирования.
Скин содержит информацию, необходимую для привязки этой сетки к этому Skeleton3D. Для каждого из внутренних идентификаторов костей, выбранных программным обеспечением для 3D-моделирования, она содержит две вещи. Во-первых, матрицу, известную как матрица позы привязки, обратная матрица привязки или сокращенно IBM. Во-вторых, Skin содержит имя каждой кости (если skins/use_named_skins равно
true) или индекс кости в списке Skeleton3D (если skins/use_named_skins равноfalse).
Вместе этой информации достаточно, чтобы сообщить Godot, как использовать позы костей в узле Skeleton3D для рендеринга сетки из каждого MeshInstance3D. Обратите внимание, что каждый MeshInstance3D может совместно использовать привязки, как это часто бывает в моделях, экспортированных из Blender, или каждый MeshInstance3D может использовать отдельный объект Skin, как это часто бывает в моделях, экспортированных из других инструментов, таких как Maya.