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...
GLTFState
Успадковує: Resource < RefCounted < Object
Успадковано від: FBXState
Представляє всі дані файлу glTF.
Опис
Містить усі вузли та ресурси файлу glTF. Це використовується GLTFDocument як сховище даних, що дозволяє GLTFDocument і всім класам GLTFDocumentExtension залишатися без стану.
GLTFState можна заповнити GLTFDocument, який читає файл, або перетворюючи сцену Godot. Потім дані можна використати для створення сцени Godot або зберегти у файл glTF. Класи GLTFDocumentExtension можуть перехоплювати код, який перетворює сцену Godot в/зі сцени Godot, у довільних точках. Це дозволяє зберігати спеціальні дані у файлі glTF або конвертувати спеціальні дані до/з вузлів Godot.
Посібники
Властивості
|
||
String |
|
|
Array[PackedByteArray] |
|
|
String |
|
|
|
||
String |
|
|
PackedByteArray |
|
|
|
||
|
||
|
||
|
||
|
||
PackedInt32Array |
|
|
String |
|
|
|
Методи
void |
add_used_extension(extension_name: String, required: bool) |
append_data_to_buffers(data: PackedByteArray, deduplication: bool) |
|
append_gltf_node(gltf_node: GLTFNode, godot_scene_node: Node, parent_node_index: int) |
|
get_accessors() const |
|
Variant |
get_additional_data(extension_name: StringName) const |
get_animation_player(anim_player_index: int) const |
|
get_animation_players_count(anim_player_index: int) const |
|
get_animations() const |
|
get_buffer_views() const |
|
get_cameras() const |
|
get_handle_binary_image() const |
|
Array[Texture2D] |
get_images() const |
get_lights() const |
|
get_materials() const |
|
get_meshes() const |
|
get_node_index(scene_node: Node) const |
|
get_nodes() const |
|
Node |
get_scene_node(gltf_node_index: int) const |
get_skeletons() const |
|
get_skins() const |
|
get_texture_samplers() const |
|
get_textures() const |
|
Array[String] |
get_unique_animation_names() const |
Array[String] |
get_unique_names() const |
void |
set_accessors(accessors: Array[GLTFAccessor]) |
void |
set_additional_data(extension_name: StringName, additional_data: Variant) |
void |
set_animations(animations: Array[GLTFAnimation]) |
void |
set_buffer_views(buffer_views: Array[GLTFBufferView]) |
void |
set_cameras(cameras: Array[GLTFCamera]) |
void |
set_handle_binary_image(method: int) |
void |
set_images(images: Array[Texture2D]) |
void |
set_lights(lights: Array[GLTFLight]) |
void |
set_materials(materials: Array[Material]) |
void |
set_meshes(meshes: Array[GLTFMesh]) |
void |
|
void |
set_skeletons(skeletons: Array[GLTFSkeleton]) |
void |
|
void |
set_texture_samplers(texture_samplers: Array[GLTFTextureSampler]) |
void |
set_textures(textures: Array[GLTFTexture]) |
void |
set_unique_animation_names(unique_animation_names: Array[String]) |
void |
set_unique_names(unique_names: Array[String]) |
Переліки
enum HandleBinaryImageMode: 🔗
HandleBinaryImageMode HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES = 0
Під час імпорту файлу glTF із вбудованими бінарними зображеннями всі зображення відкидаються та замість них використовуються нетекстуровані матеріали. Зображення, що зберігаються як окремі файли в папці res://, не зазнають цього впливу; вони будуть використані так, як їх імпортував Godot.
HandleBinaryImageMode HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES = 1
Під час імпорту файлу glTF із вбудованими бінарними зображеннями, вони витягуються та зберігаються в окремих файлах. Це дозволяє імпортувати зображення за допомогою засобу імпорту зображень Godot, який потім може налаштувати параметри імпорту користувачем, включаючи опціональне стиснення зображення у формати текстур VRAM.
Це збереже байти зображення точно як є, без повторного стиснення. Для форматів зображень, що надаються розширеннями glTF, файл матиме ім'я файлу, що закінчується розширенням файлу, наданим GLTFDocumentExtension._get_image_file_extension() класу розширення.
Примітка: Цей параметр доступний лише для редактора. Під час виконання він діє так само, як HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED.
HandleBinaryImageMode HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU = 2
Під час імпорту файлу glTF із вбудованими бінарними зображеннями, у згенеровану сцену вбудовуються текстури VRAM, стиснуті за допомогою Basis Universal. Зображення, що зберігаються як окремі файли в папці res://, не зазнають впливу; вони будуть використані так, як їх імпортував Godot.
HandleBinaryImageMode HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED = 3
Під час імпорту файлу glTF із вбудованими бінарними зображеннями, у згенеровану сцену вбудовуються текстури, стиснуті без втрат. Зображення, що зберігаються як окремі файли в папці res://, не зазнають цього впливу; вони будуть використані так, як їх імпортував Godot.
Константи
HANDLE_BINARY_DISCARD_TEXTURES = 0 🔗
Застаріло: Use HANDLE_BINARY_IMAGE_MODE_DISCARD_TEXTURES instead.
Відображає всі вбудовані текстури і використовує нетекстуровані матеріали.
HANDLE_BINARY_EXTRACT_TEXTURES = 1 🔗
Застаріло: Use HANDLE_BINARY_IMAGE_MODE_EXTRACT_TEXTURES instead.
Витягує вбудовані текстури, щоб бути переробленими і стисненими. Тільки редактора. Акти, як непривабливі в режимі runtime.
HANDLE_BINARY_EMBED_AS_BASISU = 2 🔗
Застаріло: Use HANDLE_BINARY_IMAGE_MODE_EMBED_AS_BASISU instead.
Вбудовувані текстури VRAM стиснені з Basis Universal на створену сцену.
HANDLE_BINARY_EMBED_AS_UNCOMPRESSED = 3 🔗
Застаріло: Use HANDLE_BINARY_IMAGE_MODE_EMBED_AS_UNCOMPRESSED instead.
Вбудовується текстури, що стискаються без втрат в створену сцену, що відповідає старій поведінці.
Описи властивостей
Випікання псів анімації для імпорту або експорту.
String base_path = "" 🔗
void set_base_path(value: String)
String get_base_path()
Шлях папки, пов’язаної з даними glTF. Це використовується для пошуку інших файлів, на які посилається файл glTF, наприклад зображень або двійкових буферів. Це буде встановлено під час імпорту під час додавання з файлу та буде встановлено під час експорту під час запису у файл.
Array[PackedByteArray] buffers = [] 🔗
There is currently no description for this property. Please help us by contributing one!
String copyright = "" 🔗
void set_copyright(value: String)
String get_copyright()
Рядок авторського права в заголовку ресурсу файлу glTF. Цей параметр встановлюється під час імпорту, якщо він присутній, і експорту, якщо він не порожній. Для отримання додаткової інформації див. документацію заголовка ресурсу glTF.
bool create_animations = true 🔗
There is currently no description for this property. Please help us by contributing one!
String filename = "" 🔗
void set_filename(value: String)
String get_filename()
Ім’я файлу, пов’язане з даними glTF. Якщо він закінчується на .gltf, це текстовий glTF, інакше це двійковий GLB. Це буде встановлено під час імпорту під час додавання з файлу та буде встановлено під час експорту під час запису у файл. У разі запису в буфер це буде порожній рядок.
PackedByteArray glb_data = PackedByteArray() 🔗
void set_glb_data(value: PackedByteArray)
PackedByteArray get_glb_data()
Бінарний буфер, прикріплений до файлу .glb.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.
HandleBinaryImageMode handle_binary_image_mode = 1 🔗
void set_handle_binary_image_mode(value: HandleBinaryImageMode)
HandleBinaryImageMode get_handle_binary_image_mode()
Під час імпорту файлу glTF з неімпортованими необробленими двійковими зображеннями, вбудованими в буфери двійкових блоб-об'єктів, в URI даних або окремі файли, не імпортовані Godot, ця властивість контролює обробку зображень. Зображення можна відкидати, зберігати як окремі файли або вбудовувати в сцену з втратами або без втрат. Див. HandleBinaryImageMode для отримання інформації про параметри.
Ця властивість нічого не робить для файлів зображень у папці res://, імпортованих Godot, оскільки вони обробляються безпосередньо імпортером зображень Godot, а потім сцена Godot, згенерована з файлу glTF, використовуватиме зображення так, як їх імпортував Godot.
bool import_as_skeleton_bones = false 🔗
Якщо true, усі вузли GLTF у документі мають бути кістками одного вузла Godot Skeleton3D.
Dictionary json = {} 🔗
void set_json(value: Dictionary)
Dictionary get_json()
Оригінальний сирий JSON документ, що відповідає цьому GLTFState.
There is currently no description for this property. Please help us by contributing one!
There is currently no description for this property. Please help us by contributing one!
PackedInt32Array root_nodes = PackedInt32Array() 🔗
void set_root_nodes(value: PackedInt32Array)
PackedInt32Array get_root_nodes()
Кореневі вузли файлу glTF. Як правило, файл glTF матиме лише одну сцену, а отже, один кореневий вузол. Однак файл glTF може мати кілька сцен і, отже, кілька кореневих вузлів, які будуть згенеровані як рідні один одному та як дочірні елементи кореневого вузла згенерованої сцени Godot.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.
String scene_name = "" 🔗
void set_scene_name(value: String)
String get_scene_name()
Назва сцени. Під час імпорту, якщо не вказано, це буде ім’я файлу. Під час експорту, якщо вказано, назву сцени буде збережено у файлі glTF.
bool use_named_skin_binds = false 🔗
There is currently no description for this property. Please help us by contributing one!
Описи методів
void add_used_extension(extension_name: String, required: bool) 🔗
Додає розширення до списку розширень, які використовує цей файл glTF під час серіалізації. Якщо required має значення true, розширення також буде додано до списку необхідних розширень. Не запускайте це в GLTFDocumentExtension._export_post(), оскільки цей етап надто пізній для додавання розширень. Остаточний список відсортовано за алфавітом.
int append_data_to_buffers(data: PackedByteArray, deduplication: bool) 🔗
Додає заданий масив байтів data до буферів та створює для нього GLTFBufferView. Повертається індекс цільового об'єкта GLTFBufferView. Якщо deduplication має значення true, спочатку буфери шукаються на наявність дублікатів даних, інакше завжди додаються нові байти.
int append_gltf_node(gltf_node: GLTFNode, godot_scene_node: Node, parent_node_index: int) 🔗
Додає заданий GLTFNode до стану та повертає його новий індекс. Це можна використовувати для експорту одного вузла Godot як кількох вузлів glTF або для вставки нових вузлів glTF під час імпорту. Під час імпорту це потрібно викликати до завершення GLTFDocumentExtension._generate_scene_node() для батьківського вузла. Під час експорту це потрібно викликати до виконання GLTFDocumentExtension._export_node() для батьківського вузла.
Параметр godot_scene_node – це вузол сцени Godot, який відповідає цьому вузлу glTF. Наполегливо рекомендується встановити його на дійсний вузол, але може бути null, якщо відповідного вузла сцени Godot немає. Один вузол сцени Godot може використовуватися для кількох вузлів glTF, тому, якщо експортуєте кілька вузлів glTF для одного вузла сцени Godot, використовуйте той самий вузол сцени Godot для кожного.
Параметр
parent_node_index– це індекс батьківського вузла GLTFNode у стані. Якщо-1, вузол буде кореневим вузлом, інакше новий вузол буде додано до списку дочірніх вузлів батьківського вузла. Індекс також буде записаний до властивості GLTFNode.parent нового вузла.
Array[GLTFAccessor] get_accessors() const 🔗
There is currently no description for this method. Please help us by contributing one!
Variant get_additional_data(extension_name: StringName) const 🔗
Отримує додаткові довільні дані в цьому екземплярі GLTFState. Це можна використовувати для збереження даних про стан кожного файлу в класах GLTFDocumentExtension, що важливо, оскільки вони не мають стану.
Аргументом має бути ім’я GLTFDocumentExtension (не має збігатися з ім’ям розширення у файлі glTF), а значенням, що повертається, може бути будь-яке, яке ви встановите. Якщо нічого не встановлено, повертається значення null.
AnimationPlayer get_animation_player(anim_player_index: int) const 🔗
Повертає вузол AnimationPlayer із заданим індексом. Ці вузли використовуються лише під час процесу експорту під час перетворення вузлів Godot AnimationPlayer на анімацію glTF.
int get_animation_players_count(anim_player_index: int) const 🔗
Повертає кількість вузлів AnimationPlayer у цьому GLTFState. Ці вузли використовуються лише під час процесу експорту під час перетворення вузлів Godot AnimationPlayer на анімацію glTF.
Array[GLTFAnimation] get_animations() const 🔗
Повертає масив усіх GLTFAnimation у файлі glTF. Під час імпортування вони будуть створені як анімації у вузлі AnimationPlayer. Під час експорту вони будуть створені з вузлів Godot AnimationPlayer.
Array[GLTFBufferView] get_buffer_views() const 🔗
There is currently no description for this method. Please help us by contributing one!
Array[GLTFCamera] get_cameras() const 🔗
Повертає масив усіх GLTFCamera у файлі glTF. Це камери, на які посилається індекс GLTFNode.camera.
int get_handle_binary_image() const 🔗
Застаріло: Use handle_binary_image_mode instead.
Застарілий нетипізований псевдонім для handle_binary_image_mode. Під час імпорту файлу glTF з неімпортованими необробленими двійковими зображеннями, вбудованими в буфери двійкових блобів, в URI даних або окремі файли, не імпортовані Godot, це визначає, як обробляються зображення.
Array[Texture2D] get_images() const 🔗
Отримує зображення файлу glTF як масив Texture2D. Це зображення, на які посилається індекс GLTFTexture.src_image.
Array[GLTFLight] get_lights() const 🔗
Повертає масив усіх GLTFLight у файлі glTF. Це джерела світла, на які посилається індекс GLTFNode.light.
Array[Material] get_materials() const 🔗
There is currently no description for this method. Please help us by contributing one!
Array[GLTFMesh] get_meshes() const 🔗
Повертає масив усіх GLTFMesh у файлі glTF. Це сітки, на які посилається індекс GLTFNode.mesh.
int get_node_index(scene_node: Node) const 🔗
Повертає індекс GLTFNode, що відповідає цій вершині сцени Godot. Це вірші get_scene_node(). Корисно в процесі експорту.
Примітка: Не кожен вузол сцени Godot буде мати відповідні GLTFNode, і не кожен GLTFNode буде мати сцену, створену. Якщо немає індексу GLTFNode для цього вузла сцени, -1 повертається.
Array[GLTFNode] get_nodes() const 🔗
Повертає масив усіх GLTFNode у файлі glTF. Це вузли, на які посилаються GLTFNode.children і root_nodes. Це включає вузли, які не можуть бути згенеровані в сцені Godot, або вузли, які можуть генерувати кілька вузлів сцени Godot.
Node get_scene_node(gltf_node_index: int) const 🔗
Повертаємо вузол сцени Godot, який відповідає одному індексу, як GLTFNode. Це вірші get_node_index(). Корисно під час процесу імпорту.
Примітка: Не кожен GLTFNode буде сформований вузол сцени, а не кожен створений вузол сцени буде мати відповідну GLTFNode. Якщо відсутня вершина сцени для цього GLTFNode індекс, null повертається.
Array[GLTFSkeleton] get_skeletons() const 🔗
Повертає масив усіх GLTFSkeleton у файлі glTF. Це скелети, на які посилається індекс GLTFNode.skeleton.
Array[GLTFSkin] get_skins() const 🔗
Повертає масив усіх GLTFSkin у файлі glTF. Це скіни, на які посилається індекс GLTFNode.skin.
Array[GLTFTextureSampler] get_texture_samplers() const 🔗
Отримує масив зразків текстур, які використовуються текстурами, що містяться в glTF.
Array[GLTFTexture] get_textures() const 🔗
There is currently no description for this method. Please help us by contributing one!
Array[String] get_unique_animation_names() const 🔗
Повертає масив унікальних імен анімації. Використовується тільки при імпорті.
Array[String] get_unique_names() const 🔗
Повертає масив унікальних назв вузлів. Використовується як в процесі імпорту, так і в процесі експорту.
void set_accessors(accessors: Array[GLTFAccessor]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗
Встановлює додаткові довільні дані в цьому екземплярі GLTFState. Це можна використовувати для збереження даних про стан кожного файлу в класах GLTFDocumentExtension, що важливо, оскільки вони не мають стану.
Першим аргументом має бути ім’я GLTFDocumentExtension (не має збігатися з ім’ям розширення у файлі glTF), а другий аргумент може бути будь-яким.
void set_animations(animations: Array[GLTFAnimation]) 🔗
Налаштовує GLTFAnimation в державі. При імпорті, ці будуть створюватися як анімації в вершині AnimationPlayer. При експорті ці будуть створюватися з Godot AnimationPlayer вузлів.
void set_buffer_views(buffer_views: Array[GLTFBufferView]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_cameras(cameras: Array[GLTFCamera]) 🔗
Налаштовує GLTFCamera в державі. Це камери, які індексом GLTFNode.camera.
void set_handle_binary_image(method: int) 🔗
Застаріло: Use handle_binary_image_mode instead.
Застарілий нетипізований псевдонім для handle_binary_image_mode. Під час імпорту файлу glTF з неімпортованими необробленими двійковими зображеннями, вбудованими в буфери двійкових блобів, в URI даних або окремі файли, не імпортовані Godot, це визначає, як обробляються зображення.
void set_images(images: Array[Texture2D]) 🔗
Встановлює зображення в державі, що зберігаються в масиві Texture2Ds. Це можна використовувати при експорті. Це зображення, що індекс GLTFTexture.src_image.
void set_lights(lights: Array[GLTFLight]) 🔗
Налаштовує GLTFLight в державі. Це світильники, які індекс GLTFNode.light.
void set_materials(materials: Array[Material]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_meshes(meshes: Array[GLTFMesh]) 🔗
Встановлює GLTFMesh в державі. Це сітки, які індекс GLTFNode.mesh.
void set_nodes(nodes: Array[GLTFNode]) 🔗
Встановлює GLTFNode в державі. Це вершини, які GLTFNode.children і root_nodes відносяться до. Декілька вершин, викладених тут, не може бути утворена в сцені Godot, або може генерувати декілька вузлів сцени Godot.
void set_skeletons(skeletons: Array[GLTFSkeleton]) 🔗
Встановлюємо GLTFSkeleton в державі. Це скелети, які індексом GLTFNode.skeleton.
void set_skins(skins: Array[GLTFSkin]) 🔗
Встановлюємо GLTFSkin в державі. Це шкури, які індексом GLTFNode.skin.
void set_texture_samplers(texture_samplers: Array[GLTFTextureSampler]) 🔗
Встановлює масив зразків текстур, які використовуються текстурами, що містяться в glTF.
void set_textures(textures: Array[GLTFTexture]) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_unique_animation_names(unique_animation_names: Array[String]) 🔗
Встановлює унікальні імена анімації в державі. Використовується тільки при імпорті.
void set_unique_names(unique_names: Array[String]) 🔗
Встановлює унікальні імена вузлів в державі. Використовується як в процесі імпорту, так і в процесі експорту.