GLTFNode
Наследует: Resource < RefCounted < Object
Класс узла glTF.
Описание
Представляет узел glTF. Узлы glTF могут иметь имена, преобразования, дочерние элементы (другие узлы glTF) и более специализированные свойства (представленные их собственными классами).
Узлы glTF обычно существуют внутри GLTFState, который представляет все данные файла glTF. Большинство свойств GLTFNode являются индексами других данных в файле glTF. Вы можете расширить узел glTF дополнительными свойствами, используя get_additional_data() и set_additional_data().
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
void |
append_child_index(child_index: int) |
get_additional_data(extension_name: StringName) |
|
get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true) |
|
void |
set_additional_data(extension_name: StringName, additional_data: Variant) |
Описания свойств
Если этот узел glTF является камерой, индекс GLTFCamera в GLTFState, который описывает свойства камеры. Если -1, этот узел не является камерой.
PackedInt32Array children = PackedInt32Array() 🔗
void set_children(value: PackedInt32Array)
PackedInt32Array get_children()
Индексы дочерних узлов в GLTFState. Если у этого узла glTF нет дочерних узлов, это будет пустой массив.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.
Насколько глубоко в иерархии узлов находится этот узел. Корневой узел будет иметь высоту 0, его потомки будут иметь высоту 1 и т. д. Если -1, высота не была рассчитана.
Если этот узел glTF является источником света, индекс GLTFLight в GLTFState, который описывает свойства источника света. Если -1, этот узел не является источником света.
Если этот узел glTF является сеткой, индекс GLTFMesh в GLTFState, который описывает свойства сетки. Если -1, этот узел не является сеткой.
Первоначальное имя узла.
Индекс родительского узла в GLTFState. Если -1, этот узел является корневым узлом.
Vector3 position = Vector3(0, 0, 0) 🔗
Положение узла glTF относительно его родителя.
Quaternion rotation = Quaternion(0, 0, 0, 1) 🔗
void set_rotation(value: Quaternion)
Quaternion get_rotation()
Вращение узла glTF относительно его родителя.
Vector3 scale = Vector3(1, 1, 1) 🔗
Масштаб узла glTF относительно его родителя.
Если этот узел glTF имеет скелет, индекс GLTFSkeleton в GLTFState, который описывает свойства скелета. Если -1, этот узел не имеет скелета.
Если этот узел glTF имеет скин, индекс GLTFSkin в GLTFState, который описывает свойства скина. Если -1, этот узел не имеет скина.
Если true, узел GLTF виден. Если false, узел GLTF невидим. Это преобразуется в свойство Node3D.visible в сцене Godot и экспортируется в KHR_node_visibility, когда false.
Transform3D xform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗
void set_xform(value: Transform3D)
Transform3D get_xform()
Преобразование узла glTF относительно его родителя. Это свойство обычно не используется, поскольку предпочтительны свойства положения, вращения и масштаба.
Описания метода
void append_child_index(child_index: int) 🔗
Добавляет заданный индекс дочернего узла к массиву children.
Variant get_additional_data(extension_name: StringName) 🔗
Получает дополнительные произвольные данные в этом экземпляре GLTFNode. Это можно использовать для хранения данных о состоянии каждого узла в классах GLTFDocumentExtension, что важно, поскольку они не имеют состояния.
Аргументом должно быть имя GLTFDocumentExtension (не обязательно совпадать с именем расширения в файле glTF), а возвращаемое значение может быть любым, которое вы задали. Если ничего не было задано, возвращаемое значение равно null.
NodePath get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true) 🔗
Возвращает NodePath, который будет у этого узла GLTF в дереве сцены Godot после импорта. Это полезно при импорте указателей модели объекта glTF с помощью GLTFObjectModelProperty для обработки расширений, таких как KHR_animation_pointer или KHR_interactivity.
Если handle_skeletons равен true, пути к узлам скелетной кости glTF будут разрешены правильно. Например, путь, который будет ^"A/B/C/Bone1/Bone2/Bone3", если false станет ^"A/B/C/Skeleton3D:Bone3".
void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗
Устанавливает дополнительные произвольные данные в этом экземпляре GLTFNode. Это можно использовать для хранения данных о состоянии каждого узла в классах GLTFDocumentExtension, что важно, поскольку они не имеют состояния.
Первым аргументом должно быть имя GLTFDocumentExtension (не обязательно совпадать с именем расширения в файле glTF), а вторым аргументом может быть все, что угодно.