Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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-сцен, в зависимости от содержимого их анимационных дорожек.
bool array_mesh/deduplicate_surfaces = true 🔗
Если файл 3D-модели содержит только одну сетку, этот параметр не оказывает никакого эффекта. Если true и файл 3D-модели содержит несколько сеток с одинаковыми именами и форматами поверхностей, то при слиянии сеток поверхности будут объединены. Это полезно для уменьшения количества поверхностей в результирующей сетке и позволяет избежать дублирования материалов. Если false и файл 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 mesh_library/use_node_names_as_mesh_names = false 🔗
Если true, имена мешей будут установлены в соответствии с именами узлов в файле 3D-модели. Если false, имена мешей будут установлены в соответствии с именами мешей в файле 3D-модели. Включение этой опции — распространенный обходной путь, когда автор файла 3D-модели неправильно указал имена мешей в Blender или других приложениях для 3D-моделирования. Например, в файле может быть узел с именем "Turret" и сетка с именем "Cube.002", поэтому включение этой опции установит имя сетки на "Turret" вместо "Cube_002".
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.