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...
GLTFObjectModelProperty
Eredita: RefCounted < Object
Descrive come accedere a una proprietà come definito nel modello d'oggetto glTF.
Descrizione
GLTFObjectModelProperty definisce una mappatura tra una proprietà nel modello d'oggetto glTF e un NodePath nell'albero di scene di Godot. Può essere utilizzato per animare le proprietà in un file glTF attraverso l'estensione KHR_animation_pointer o per accedervi tramite uno script indipendente dal motore, come un grafico di comportamento definito dall'estensione KHR_interactivity.
La proprietà glTF è identificata da puntatori JSON memorizzati in json_pointers, mentre la proprietà di Godot a cui è mappata è definita da node_paths. Nella maggior parte dei casi json_pointers e node_paths avranno ciascuno un solo elemento, ma in alcuni casi un singolo puntatore JSON glTF sarà mappato a più proprietà Godot, oppure una singola proprietà Godot sarà mappata a più puntatori JSON glTF, oppure potrebbe trattarsi di una relazione molti-a-molti.
È possibile usare gli oggetti Expression per definire conversioni tra i dati, come quando glTF definisce un angolo in radianti e Godot usa gradi. La proprietà object_model_type definisce il tipo di dati memorizzati nel file glTF come definito dal modello d'oggetto, vedi GLTFObjectModelType per i valori possibili.
Tutorial
Proprietà
|
||
|
||
|
||
|
Metodi
void |
append_node_path(node_path: NodePath) |
void |
append_path_to_property(node_path: NodePath, prop_name: StringName) |
get_accessor_type() const |
|
has_json_pointers() const |
|
has_node_paths() const |
|
void |
set_types(variant_type: Variant.Type, obj_model_type: GLTFObjectModelType) |
Enumerazioni
enum GLTFObjectModelType: 🔗
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_UNKNOWN = 0
Tipo di modello d'oggetto sconosciuto o non impostato. Se il tipo di modello d'oggetto è impostato su questo valore, il tipo reale deve ancora essere determinato.
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_BOOL = 1
Tipo di modello d'oggetto "bool". Rappresentato nel JSON glTF come un valore booleano e codificato in un GLTFAccessor come "SCALAR". Quando codificato in un accessor, un valore di 0 è false e qualsiasi altro valore è true.
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT = 2
Tipo di modello d'oggetto "float". Rappresentato nel JSON glTF come un numero e codificato in un GLTFAccessor come "SCALAR".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT_ARRAY = 3
Tipo di modello d'oggetto "float[]". Rappresentato nel JSON glTF come un array di numeri e codificato in un GLTFAccessor come "SCALAR".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT2 = 4
Tipo di modello d'oggetto "float2". Rappresentato nel JSON glTF come un array di due numeri e codificato in un GLTFAccessor come "VEC2".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT3 = 5
Tipo di modello d'oggetto "float3". Rappresentato nel JSON glTF come un array di tre numeri e codificato in un GLTFAccessor come "VEC3".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT4 = 6
Tipo di modello d'oggetto "float4". Rappresentato nel JSON glTF come un array di quattro numeri e codificato in un GLTFAccessor come "VEC4".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT2X2 = 7
Tipo di modello d'oggetto "float2x2". Rappresentato nel JSON glTF come un array di quattro numeri e codificato in un GLTFAccessor come "MAT2".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT3X3 = 8
Tipo di modello d'oggetto "float3x3". Rappresentato nel JSON glTF come un array di nove numeri e codificato in un GLTFAccessor come "MAT3".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_FLOAT4X4 = 9
Tipo di modello d'oggetto "float4x4". Rappresentato nel JSON glTF come un array di sedici numeri e codificato in un GLTFAccessor come "MAT4".
GLTFObjectModelType GLTF_OBJECT_MODEL_TYPE_INT = 10
Tipo di modello d'oggetto "int". Rappresentato nel glTF JSON come un numero e codificato in un GLTFAccessor come "SCALAR". L'intervallo di valori è limitato agli interi con segno. Per KHR_interactivity, sono supportati solo gli interi a 32 bit.
Descrizioni delle proprietà
Expression gltf_to_godot_expression 🔗
void set_gltf_to_godot_expression(value: Expression)
Expression get_gltf_to_godot_expression()
Se impostata, questa Expression verrà utilizzata per convertire il valore della proprietà dal modello d'oggetto glTF al valore previsto dalla proprietà di Godot. Ciò è utile quando il modello d'oggetto glTF utilizza un sistema di unità diverso o quando è necessario trasformare i dati in qualche modo. Se null, il valore verrà copiato così com'è.
Expression godot_to_gltf_expression 🔗
void set_godot_to_gltf_expression(value: Expression)
Expression get_godot_to_gltf_expression()
Se impostata, questa Expression verrà utilizzata per convertire il valore della proprietà dalla proprietà di Godot al valore previsto dal modello d'oggetto glTF. Ciò è utile quando il modello d'oggetto glTF utilizza un sistema di unità diverso o quando è necessario trasformare i dati in qualche modo. Se null, il valore verrà copiato così com'è.
Array[PackedStringArray] json_pointers = [] 🔗
void set_json_pointers(value: Array[PackedStringArray])
Array[PackedStringArray] get_json_pointers()
I puntatori JSON del modello d'oggetto glTF utilizzati per identificare la proprietà nel modello d'oggetto glTF. Nella maggior parte dei casi, ci sarà un solo elemento in questo array, ma casi più specifici potrebbero richiedere più puntatori. Gli elementi sono a loro volta array che rappresentano il puntatore JSON suddiviso nei suoi componenti.
Array[NodePath] node_paths = [] 🔗
Un array di NodePath che puntano a una proprietà, o più proprietà, nell'albero di scene Godot. All'importazione, questo verrà impostato da GLTFDocument o da una classe GLTFDocumentExtension. Per i casi semplici, usa append_path_to_property() per aggiungere proprietà a questo array.
Nella maggior parte dei casi node_paths avrà solo un elemento, ma in alcuni casi un singolo puntatore JSON glTF sarà mappato a più proprietà di Godot. Ad esempio, un GLTFCamera o GLTFLight usato su più nodi glTF sarà rappresentato da più nodi di Godot.
GLTFObjectModelType object_model_type = 0 🔗
void set_object_model_type(value: GLTFObjectModelType)
GLTFObjectModelType get_object_model_type()
Il tipo di dati memorizzato nel file glTF come definito dal modello d'oggetto. Questo è un sovrainsieme dei tipi di accessor disponibili e determina il tipo di accessor.
Variant.Type variant_type = 0 🔗
void set_variant_type(value: Variant.Type)
Variant.Type get_variant_type()
Il tipo di dati memorizzati nella proprietà di Godot. Questo è il tipo di proprietà a cui puntano i node_paths.
Descrizioni dei metodi
void append_node_path(node_path: NodePath) 🔗
Aggiunge un NodePath a node_paths. Può essere utilizzato dalle classi GLTFDocumentExtension per definire come una proprietà del modello d'oggetto glTF viene mappata a una proprietà di Godot o a più proprietà Godot. Preferisci usare append_path_to_property() per i casi semplici. Assicurati di chiamare anche set_types() una volta (l'ordine non ha importanza).
void append_path_to_property(node_path: NodePath, prop_name: StringName) 🔗
Wrapper di alto livello sopra append_node_path() che gestisce i casi più comuni. Costruisce un nuovo NodePath usando node_path come base e aggiunge prop_name al sotto-percorso. Assicurati di chiamare anche set_types() una volta (l'ordine non ha importanza).
GLTFAccessorType get_accessor_type() const 🔗
Il tipo di accessor GLTF associato a object_model_type di questa proprietà. Vedi GLTFAccessor.accessor_type per i valori possibili e vedi GLTFObjectModelType per il modo in cui il tipo di modello d'oggetto è mappato ai tipi di accessor.
bool has_json_pointers() const 🔗
Restituisce true se json_pointers non è vuoto. È utilizzato durante l'esportazione per determinare se un GLTFObjectModelProperty può gestire la conversione di una proprietà di Godot in una proprietà del modello d'oggetto glTF.
Restituisce true se node_paths non è vuoto. È utilizzato durante l'importazione per determinare se un GLTFObjectModelProperty può gestire la conversione di una proprietà del modello d'oggetto glTF in una proprietà di Godot.
void set_types(variant_type: Variant.Type, obj_model_type: GLTFObjectModelType) 🔗
Imposta le proprietà variant_type e object_model_type. Questo è un metodo di comodità per impostare entrambe le proprietà contemporaneamente, poiché sono quasi sempre note allo stesso tempo. Questo metodo dovrebbe essere chiamato una volta. Chiamarlo di nuovo con gli stessi valori non avrà alcun effetto.