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.

GLTFNode

Eredita: Resource < RefCounted < Object

Classe per un nodo glTF.

Descrizione

Rappresenta un nodo glTF. I nodi glTF possono avere nomi, trasformazioni, figli (altri nodi glTF) e proprietà più specializzate (rappresentate dalle proprie classi).

I nodi glTF in genere esistono all'interno di GLTFState che rappresenta tutti i dati di un file glTF. La maggior parte delle proprietà di glTFNode sono indici di altri dati nel file glTF. È possibile estendere un nodo glTF con proprietà aggiuntive tramite get_additional_data() e set_additional_data().

Tutorial

Proprietà

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)

Metodi

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)


Descrizioni delle proprietà

int camera = -1 🔗

  • void set_camera(value: int)

  • int get_camera()

Se questo nodo glTF è una telecamera, l'indice della GLTFCamera nel GLTFState che descrive le proprietà della telecamera. Se -1, questo nodo non è una telecamera.


PackedInt32Array children = PackedInt32Array() 🔗

Gli indici dei nodi figlio nel GLTFState. Se questo nodo glTF non ha figli, questo sarà un array vuoto.

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 profondità di questo nodo nella gerarchia dei nodi. Un nodo radice avrà un'altezza di 0, i suoi figli avranno un'altezza di 1 e così via. Se -1, l'altezza non è stata calcolata.


int light = -1 🔗

  • void set_light(value: int)

  • int get_light()

Se questo nodo glTF è una luce, l'indice della GLTFLight nel GLTFState che descrive le proprietà della luce. Se -1, questo nodo non è una luce.


int mesh = -1 🔗

  • void set_mesh(value: int)

  • int get_mesh()

Se questo nodo glTF è una mesh, l'indice della GLTFMesh nel GLTFState che descrive le proprietà della mesh. Se -1, questo nodo non è una mesh.


String original_name = "" 🔗

  • void set_original_name(value: String)

  • String get_original_name()

Il nome originale del nodo.


int parent = -1 🔗

  • void set_parent(value: int)

  • int get_parent()

L'indice del nodo padre nel GLTFState. Se -1, questo nodo è un nodo radice.


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

La posizione del nodo glTF rispetto al suo genitore.


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

La rotazione del nodo glTF rispetto al suo genitore.


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

La scala del nodo glTF rispetto al suo genitore.


int skeleton = -1 🔗

  • void set_skeleton(value: int)

  • int get_skeleton()

Se questo nodo glTF ha uno scheletro, l'indice dello GLTFSkeleton nel GLTFState che descrive le proprietà dello scheletro. Se -1, questo nodo non ha uno scheletro.


int skin = -1 🔗

  • void set_skin(value: int)

  • int get_skin()

Se questo nodo glTF ha una skin, l'indice della GLTFSkin nel GLTFState che descrive le proprietà della skin. Se -1, questo nodo non ha una skin.


bool visible = true 🔗

  • void set_visible(value: bool)

  • bool get_visible()

If true, the GLTF node is visible. If false, the GLTF node is not visible. This is converted to the Node3D.visible property in the Godot scene, and is exported to KHR_node_visibility when false.


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

La trasformazione del nodo glTF rispetto al suo genitore. Questa proprietà è solitamente inutilizzata poiché sono preferite le proprietà di posizione, rotazione e scala.


Descrizioni dei metodi

void append_child_index(child_index: int) 🔗

Accoda l'indice del nodo figlio specificato all'array children.


Variant get_additional_data(extension_name: StringName) 🔗

Ottiene ulteriori dati arbitrari in questa istanza GLTFNode. Può essere utilizzato per mantenere i dati di stato per ogni nodo nelle classi GLTFDocumentExtension, il che è importante perché sono stateless.

L'argomento dovrebbe essere il nome del GLTFDocumentExtension (non deve corrispondere al nome dell'estensione nel file glTF) e il valore restituito può essere qualsiasi cosa tu imposti. Se niente è stato impostato, il valore restituito è null.


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

Restituisce il NodePath che questo nodo GLTF avrà nell'albero di scene di Godot dopo essere stato importato. Ciò è utile quando si importano puntatori al modello d'oggetto glTF con GLTFObjectModelProperty, per gestire estensioni come KHR_animation_pointer o KHR_interactivity.

Se handle_skeletons è true, i percorsi verso i nodi glTF delle ossa di uno scheletro verranno risolti correttamente. Ad esempio, un percorso che sarebbe ^"A/B/C/Bone1/Bone2/Bone3" se false diventerà ^"A/B/C/Skeleton3D:Bone3".


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

Imposta ulteriori dati arbitrari in questa istanza GLTFNode. Può essere utilizzato per mantenere i dati di stato per ogni nodo nelle classi GLTFDocumentExtension, il che è importante perché sono stateless.

Il primo argomento dovrebbe essere il nome del GLTFDocumentExtension (non deve corrispondere al nome dell'estensione nel file glTF) e il secondo argomento può essere qualsiasi cosa tu voglia.