GLTFNode

Hereda: Resource < RefCounted < Object

Clase de nodo glTF.

Descripción

Representa un nodo glTF. Los nodos glTF pueden tener nombres, transformaciones, hijos (otros nodos glTF) y propiedades más especializadas (representadas por sus propias clases).

Los nodos glTF generalmente existen dentro de GLTFState, que representa todos los datos de un archivo glTF. La mayoría de las propiedades de GLTFNode son índices de otros datos en el archivo glTF. Puedes extender un nodo glTF con propiedades adicionales utilizando get_additional_data() y set_additional_data().

Tutoriales

Propiedades

int

camera

-1

PackedInt32Array

children

PackedInt32Array()

int

height

-1

int

light

-1

int

mesh

-1

String

original_name

""

int

parent

-1

Vector3

position

Vector3(0, 0, 0)

Quaternion

rotation

Quaternion(0, 0, 0, 1)

Vector3

scale

Vector3(1, 1, 1)

int

skeleton

-1

int

skin

-1

bool

visible

true

Transform3D

xform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

Métodos

void

append_child_index(child_index: int)

Variant

get_additional_data(extension_name: StringName)

NodePath

get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true)

void

set_additional_data(extension_name: StringName, additional_data: Variant)


Descripciones de Propiedades

int camera = -1 🔗

  • void set_camera(value: int)

  • int get_camera()

Si este nodo glTF es una cámara, el índice de la GLTFCamera en el GLTFState que describe las propiedades de la cámara. Si -1, este nodo no es una cámara.


PackedInt32Array children = PackedInt32Array() 🔗

Los índices de los nodos hijo en el GLTFState. Si este nodo glTF no tiene hijos, esto será un array vacío.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.


int height = -1 🔗

  • void set_height(value: int)

  • int get_height()

La profundidad en la jerarquía de nodos en la que se encuentra este nodo. Un nodo raíz tendrá una altura de 0, sus hijos tendrán una altura de 1, y así sucesivamente. Si es -1, la altura no se ha calculado.


int light = -1 🔗

  • void set_light(value: int)

  • int get_light()

Si este nodo glTF es una luz, el índice de la GLTFLight en el GLTFState que describe las propiedades de la luz. Si es -1, este nodo no es una luz.


int mesh = -1 🔗

  • void set_mesh(value: int)

  • int get_mesh()

Si este nodo glTF es una malla, el índice de la GLTFMesh en el GLTFState que describe las propiedades de la malla. Si es -1, este nodo no es una malla.


String original_name = "" 🔗

  • void set_original_name(value: String)

  • String get_original_name()

El nombre original del nodo.


int parent = -1 🔗

  • void set_parent(value: int)

  • int get_parent()

El índice del nodo padre en el GLTFState. Si es -1, este nodo es un nodo raíz.


Vector3 position = Vector3(0, 0, 0) 🔗

La posición del nodo glTF en relación con su padre.


Quaternion rotation = Quaternion(0, 0, 0, 1) 🔗

La rotación del nodo glTF con respecto a su padre.


Vector3 scale = Vector3(1, 1, 1) 🔗

La escala del nodo glTF en relación con su padre.


int skeleton = -1 🔗

  • void set_skeleton(value: int)

  • int get_skeleton()

Si este nodo glTF tiene un esqueleto, el índice del GLTFSkeleton en el GLTFState que describe las propiedades del esqueleto. Si es -1, este nodo no tiene un esqueleto.


int skin = -1 🔗

  • void set_skin(value: int)

  • int get_skin()

Si este nodo glTF tiene una piel, el índice de la GLTFSkin en el GLTFState que describe las propiedades de la piel. Si es -1, este nodo no tiene una piel.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool get_visible()

Si es true, el nodo GLTF es visible. Si es false, el nodo GLTF no es visible. Esto se traduce a la propiedad Node3D.visible en la escena de Godot, y se exporta a KHR_node_visibility cuando false.


Transform3D xform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

La transformación del nodo glTF relativa a su padre. Esta propiedad generalmente no se utiliza ya que se prefieren las propiedades de posición, rotación y escala.


Descripciones de Métodos

void append_child_index(child_index: int) 🔗

Appends the given child node index to the children array.


Variant get_additional_data(extension_name: StringName) 🔗

Obtiene datos arbitrarios adicionales en esta instancia de GLTFNode. Esto se puede utilizar para mantener los datos de estado por nodo en las clases GLTFDocumentExtension, lo cual es importante porque no tienen estado.

El argumento debe ser el nombre de GLTFDocumentExtension (no tiene que coincidir con el nombre de la extensión en el archivo glTF), y el valor de retorno puede ser cualquier cosa que establezcas. Si no se estableció nada, el valor de retorno es null.


NodePath get_scene_node_path(gltf_state: GLTFState, handle_skeletons: bool = true) 🔗

Devuelve el NodePath que este nodo GLTF tendrá en el árbol de la escena de Godot después de ser importado. Esto es útil cuando se importan punteros de modelo de objeto glTF con GLTFObjectModelProperty, para manejar extensiones como KHR_animation_pointer o KHR_interactivity.

Si handle_skeletons es true, las rutas a los nodos glTF de hueso de esqueleto se resolverán correctamente. Por ejemplo, una ruta que sería ^"A/B/C/Bone1/Bone2/Bone3" si es false se convertirá en ^"A/B/C/Skeleton3D:Bone3".


void set_additional_data(extension_name: StringName, additional_data: Variant) 🔗

Establece datos arbitrarios adicionales en esta instancia de GLTFNode. Esto se puede utilizar para mantener los datos de estado por nodo en las clases GLTFDocumentExtension, lo cual es importante porque no tienen estado.

El primer argumento debe ser el nombre de GLTFDocumentExtension (no tiene que coincidir con el nombre de la extensión en el archivo glTF), y el segundo argumento puede ser cualquier cosa que quieras.