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.

ResourceImporterScene

Успадковує: ResourceImporter < RefCounted < Object

Імпортує 3D-сцену glTF, FBX, COLLADA або Blender.

Опис

Дивись також ResourceImporterOBJ, який використовується для моделей OBJ, які можна імпортувати як самостійний Mesh або сцена.

Додаткові параметри (наприклад, вилучення окремих сіточок або матеріалів до файлів) доступні в діалоговому вікні Advanced Import Settings. Цей діалог можна отримати за допомогою подвійного клацання 3D-сцени в Dock FileSystem або, вибравши 3D-сцену в Dock FileSystem, збиравшись на кнопку Імпорта і виберіть Advanced.

Note: ResourceImporterScene not використовується для PackedScene, таких як .tscn і .scn файли.

Посібники

Властивості

Dictionary

_subresources

{}

float

animation/fps

30

bool

animation/import

true

bool

animation/import_rest_as_RESET

false

bool

animation/remove_immutable_tracks

true

bool

animation/trimming

false

bool

array_mesh/deduplicate_surfaces

true

String

import_script/path

""

int

materials/extract

0

int

materials/extract_format

0

String

materials/extract_path

""

bool

mesh_library/use_node_names_as_mesh_names

false

bool

meshes/create_shadow_meshes

true

bool

meshes/ensure_tangents

true

bool

meshes/force_disable_compression

false

bool

meshes/generate_lods

true

int

meshes/light_baking

1

float

meshes/lightmap_texel_size

0.2

bool

nodes/apply_root_scale

true

bool

nodes/import_as_skeleton_bones

false

String

nodes/root_name

""

float

nodes/root_scale

1.0

Script

nodes/root_script

null

String

nodes/root_type

""

bool

nodes/use_name_suffixes

true

bool

nodes/use_node_type_suffixes

true

bool

skins/use_named_skins

true


Описи властивостей

Dictionary _subresources = {} 🔗

Містить властивості для субресурсів сцени. Це внутрішній варіант, який не видно в докці імпорту.


float animation/fps = 30 🔗

Кількість кадрів в секунду для використання для випікання кривих аніматорів до ряду точок з лінійним інтерполяціям. Рекомендовано для налаштування цього значення, щоб відповідати значенням, який ви використовуєте як базовий рядок у вашому програмному забезпеченні 3D. Найвища кількість значень призводить до більш точної анімації з швидкими змінами руху, за вартістю вище розмірів файлів і використання пам'яті. Завдяки інтерполяції, зазвичай не набагато користь при переході над 30 ФПС (як анімація все ще з'явиться гладкою при більш високій рендеринговій рейді).


bool animation/import = true 🔗

Якщо true, імпорт анімації з 3D сцени.


bool animation/import_rest_as_RESET = false 🔗

Якщо true, додайте назву 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 = "" 🔗

Патент на імпортний скрипт, який може запустити код після завершення процесу імпорту для індивідуальної обробки. Див. ` Використання сценаріїв імпорту для автоматизації <../tutorials/assets_pipeline/importing_3d_scenes/import_configuration.html#using-import-script-for-automation>`__ для отримання додаткової інформації.


int materials/extract = 0 🔗

Режим вилучення матеріалів.

  • 0 (Зберегти внутрішній), матеріали не вилучаються.

  • 1 (Вилучити один раз), матеріали вилучаються один раз і використовуються повторно під час наступного імпорту.

  • 2 (Вилучити та перезаписати), матеріали вилучаються та перезаписуються під час кожного імпорту.


int materials/extract_format = 0 🔗

Формат файлу витягнутого матеріалу.

  • 0 (Текст), формат текстового файлу (*.tres).

  • 1 (Двійковий), формат двійкового файлу (*.res).

  • 2 (Матеріал), формат двійкового файлу (*.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, що дозволяє генерувати тіні сітки на імпорті. Ця оптимізує Shadow рендеринг без зменшення якості за допомогою зварювання вершин разом при можливості. Це в свою чергу зменшує пропускну здатність пам'яті, необхідну для надання тіней. В даний час не підтримує використання нижнього рівня деталі, ніж вихідна сітка (але Shadow рендеринг буде використовуватися LODs при необхідності).


bool meshes/ensure_tangents = true 🔗

Якщо true, генерувати тангенси вершин за допомогою Mikktspace, якщо вхідні сітки не містять даних про тангенси. Якщо це можливо, рекомендується дозволити програмі 3D-моделювання генерувати тангенси під час експорту, замість того щоб покладатися на цю опцію. Тангенти необхідні для коректного відображення карт нормалей та висот, а також будь-яких функцій матеріалів/шейдерів, що вимагають тангентів.

Якщо вам не потрібні функції матеріалів, що вимагають тангентів, вимкнення цієї опції може зменшити розмір вихідного файлу та пришвидшити імпорт, якщо вихідний 3D-файл не містить тангентів.


bool meshes/force_disable_compression = false 🔗

Якщо true, стиснення сітки не буде використовуватися. З огляду на те, що ви помітили блоковані артефакти у ваших сітчастих нормах або УФ, або якщо у вас є сітки, які більше, ніж кілька тисяч метрів в кожному напрямку.


bool meshes/generate_lods = true 🔗

Якщо true, генерує більш детальні варіанти сітки, яка буде відображатися на відстані для підвищення продуктивності рендерингу. Не всі сітки вигідні від LOD, особливо якщо вони не продаються далеко. Відключення цього може зменшити розмір файлу і прискорити імпорт. Переглянути ` Рівень сітки деталей (LOD) <../tutorials/3d/mesh_lod.html#doc-mesh-lod>`__ для отримання додаткової інформації.


int meshes/light_baking = 1 🔗

Налаштовує сітки GeometryInstance3D.gi_mode в 3D-сцені. Якщо встановити на Static Lightmaps, встановлює режим GI сітківки до Static і генерує УФ2 на імпорт для LightmapGI випічки.


float meshes/lightmap_texel_size = 0.2 🔗

Контролює розмір кожного текселя на запеченій карті освітлення. Менше значення призводить до точніших карт освітлення, але за рахунок більших розмірів карт освітлення та тривалішого часу запікання.

Примітка: Діє лише тоді, коли для параметра meshes/light_baking встановлено значення Статичні карти освітлення.


bool nodes/apply_root_scale = true 🔗

Якщо true, nodes/root_scale буде застосовано до нащадкових вузлів, сіток, анімації, кісток тощо. Це означає, що якщо ви додасте дочірній вузол пізніше в імпортованій сцені, він не буде масштабований. Якщо false, nodes/root_scale натомість помножить масштаб кореневого вузла.


bool nodes/import_as_skeleton_bones = false 🔗

Виконайте всі вузли в імпортній сцені, якщо вони кісточки знаходяться в одному Skeleton3D. Може бути використаний для гарантії, що імпортовані анімації цільових скелетних кісток, а не вузлів. Може також використовуватися для позначення кісточки "Root" в BoneMap. Див. Retargeting 3D Skeletons для отримання додаткової інформації.


String nodes/root_name = "" 🔗

На відміну від імені кореневого вузла. Якщо порожній, кореневий вузол буде використовувати те, що сцена визначає, або ім'я файлу, якщо сцена не вказує ім'я кореня.


float nodes/root_scale = 1.0 🔗

Уніформа для використання для кореня сцени. Значення за замовчуванням 1.0 не буде виконувати будь-яке перерахунок. Див. nodes/apply_root_scale для деталей, як застосовується цей масштаб.


Script nodes/root_script = null 🔗

Якщо встановлено значення дійсного скрипта, скрипт приєднується до кореневого вузла імпортованої сцени. Якщо тип кореневого вузла несумісний зі скриптом, кореневий вузол буде замінено типом, сумісним зі скриптом. Цей параметр також можна використовувати для інших вузлів сцени, які не є сітчастими, для приєднання до них скриптів.


String nodes/root_type = "" 🔗

На відміну від типу кореневих вузлів. Якщо порожній, кореневий вузол буде використовувати те, що сцена specifies, або 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-моделювання, він містить дві речі. По-перше, матрицю, відому як матриця прив'язки пози (Bind Pose Matrix), обернена матриця прив'язки (Inverse Bind Matrix) або, скорочено, IBM. По-друге, Skin містить назву кожної кістки (якщо skins/use_named_skins дорівнює true), або індекс кістки у списку Skeleton3D (якщо skins/use_named_skins дорівнює false).

Разом ця інформація достатня, щоб повідомити Godot, як використовувати пози кісток у вузлі Skeleton3D для рендерингу сітки з кожного MeshInstance3D. Зверніть увагу, що кожен MeshInstance3D може використовувати спільні прив'язки, як це зазвичай буває у моделях, експортованих з Blender, або кожен MeshInstance3D може використовувати окремий об'єкт Skin, як це зазвичай буває у моделях, експортованих з інших інструментів, таких як Maya.