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...
SkeletonProfile
Eredita: Resource < RefCounted < Object
Ereditato da: SkeletonProfileHumanoid
Classe di base per un profilo di uno scheletro virtuale utilizzato come destinazione per il retargeting.
Descrizione
Questa risorsa è utilizzata in EditorScenePostImport. Alcuni parametri fanno riferimento alle ossa in Skeleton3D, Skin, Animation e alcuni altri nodi sono riscritti in base ai parametri di SkeletonProfile.
Nota: Questi parametri devono essere impostati solo quando si crea un profilo personalizzato. In SkeletonProfileHumanoid, sono definiti internamente come valori di sola lettura.
Tutorial
Proprietà
|
||
|
||
|
||
|
Metodi
find_bone(bone_name: StringName) const |
|
get_bone_name(bone_idx: int) const |
|
get_bone_parent(bone_idx: int) const |
|
get_bone_tail(bone_idx: int) const |
|
get_group_name(group_idx: int) const |
|
get_handle_offset(bone_idx: int) const |
|
get_reference_pose(bone_idx: int) const |
|
get_tail_direction(bone_idx: int) const |
|
get_texture(group_idx: int) const |
|
is_required(bone_idx: int) const |
|
void |
set_bone_name(bone_idx: int, bone_name: StringName) |
void |
set_bone_parent(bone_idx: int, bone_parent: StringName) |
void |
set_bone_tail(bone_idx: int, bone_tail: StringName) |
void |
set_group(bone_idx: int, group: StringName) |
void |
set_group_name(group_idx: int, group_name: StringName) |
void |
set_handle_offset(bone_idx: int, handle_offset: Vector2) |
void |
set_reference_pose(bone_idx: int, bone_name: Transform3D) |
void |
set_required(bone_idx: int, required: bool) |
void |
set_tail_direction(bone_idx: int, tail_direction: TailDirection) |
void |
set_texture(group_idx: int, texture: Texture2D) |
Segnali
profile_updated() 🔗
Questo segnale viene emesso quando si modifica il valore nel profilo. È utilizzato per aggiornare il nome della chiave nella BoneMap e per ridisegnare l'editor di BoneMap.
Nota: Questo segnale non è collegato direttamente all'editor per semplificare il riferimento, ma viene invece trasmesso all'editor attraverso la BoneMap.
Enumerazioni
enum TailDirection: 🔗
TailDirection TAIL_DIRECTION_AVERAGE_CHILDREN = 0
Direzione delle coordinate medie delle ossa figlio.
TailDirection TAIL_DIRECTION_SPECIFIC_CHILD = 1
Direzione verso le coordinate dell'osso figlio specificato.
TailDirection TAIL_DIRECTION_END = 2
La direzione non è calcolata.
Descrizioni delle proprietà
La quantità di ossa nell'editor di BoneMap della sezione di retargeting. Ad esempio, SkeletonProfileHumanoid ha 56 ossa.
La dimensione degli elementi in BoneMap si aggiorna quando si modifica questa proprietà nello SkeletonProfile assegnato.
La quantità di gruppi di ossa nell'editor di BoneMap della sezione di retargeting. Ad esempio, SkeletonProfileHumanoid ha 4 gruppi.
Questa proprietà esiste per separare l'elenco delle ossa in diverse sezioni nell'editor.
StringName root_bone = &"" 🔗
void set_root_bone(value: StringName)
StringName get_root_bone()
Un nome di osso che sarà utilizzato come osso radice in AnimationTree. Dovrebbe essere l'osso del genitore dell'anca che esiste all'origine del mondo.
StringName scale_base_bone = &"" 🔗
void set_scale_base_bone(value: StringName)
StringName get_scale_base_bone()
Un nome di osso che utilizzerà l'altezza del modello come coefficiente per la normalizzazione. Ad esempio, SkeletonProfileHumanoid lo definisce come Hips (l'anca).
Descrizioni dei metodi
int find_bone(bone_name: StringName) const 🔗
Restituisce l'indice dell'osso che ha bone_name come nome.
StringName get_bone_name(bone_idx: int) const 🔗
Restituisce il nome dell'osso all'indice bone_idx che sarà il nome della chiave nella BoneMap.
Nel processo di retargeting, il nome dell'osso restituito è il nome dell'osso dello scheletro di destinazione.
StringName get_bone_parent(bone_idx: int) const 🔗
Restituisce il nome dell'osso che è il genitore dell'osso all'indice bone_idx. Il risultato è vuoto se l'osso non ha un genitore.
StringName get_bone_tail(bone_idx: int) const 🔗
Restituisce il nome dell'osso che è la coda dell'osso all'indice bone_idx.
StringName get_group(bone_idx: int) const 🔗
Restituisce il gruppo dell'osso all'indice bone_idx.
StringName get_group_name(group_idx: int) const 🔗
Restituisce il nome del gruppo all'indice group_idx che sarà il gruppo di disegno nell'editor di BoneMap.
Vector2 get_handle_offset(bone_idx: int) const 🔗
Restituisce lo scostamento dell'osso all'indice bone_idx che sarà la posizione del pulsante nell'editor di BoneMap.
Questo è lo scostamento con origine nell'angolo in alto a sinistra del quadrato.
Transform3D get_reference_pose(bone_idx: int) const 🔗
Restituisce la trasformazione della posa di riferimento per osso all'indice bone_idx.
TailDirection get_tail_direction(bone_idx: int) const 🔗
Restituisce la direzione di coda dell'osso all'indice bone_idx.
Texture2D get_texture(group_idx: int) const 🔗
Restituisce la texture del gruppo all'indice group_idx che sarà l'immagine di sfondo del gruppo di disegno nell'editor di BoneMap.
bool is_required(bone_idx: int) const 🔗
Restituisce se l'osso all'indice bone_idx è obbligatorio per il retargeting.
Questo valore è utilizzato dall'editor della mappa delle ossa. Se questo metodo restituisce true e non è assegnato alcun osso, il colore della maniglia sarà rosso nell'editor della mappa delle ossa.
void set_bone_name(bone_idx: int, bone_name: StringName) 🔗
Imposta il nome dell'osso all'indice bone_idx che sarà il nome della chiave nella BoneMap.
Nel processo di retargeting, il nome dell'osso impostato è il nome dell'osso dello scheletro di destinazione.
void set_bone_parent(bone_idx: int, bone_parent: StringName) 🔗
Imposta l'osso con nome bone_parent come genitore dell'osso all'indice bone_idx. Se viene passata una stringa vuota, l'osso non ha genitore.
void set_bone_tail(bone_idx: int, bone_tail: StringName) 🔗
Imposta l'osso con nome bone_tail come coda dell'osso all'indice bone_idx.
void set_group(bone_idx: int, group: StringName) 🔗
Imposta il gruppo dell'osso all'indice bone_idx.
void set_group_name(group_idx: int, group_name: StringName) 🔗
Imposta il nome del gruppo all'indice group_idx che sarà il gruppo di disegno nell'editor di BoneMap.
void set_handle_offset(bone_idx: int, handle_offset: Vector2) 🔗
Imposta lo scostamento dell'osso all'indice bone_idx che sarà la posizione del pulsante nell'editor di BoneMap.
Questo è lo scostamento con origine nell'angolo in alto a sinistra del quadrato.
void set_reference_pose(bone_idx: int, bone_name: Transform3D) 🔗
Imposta la trasformazione della posa di riferimento per osso all'indice bone_idx.
void set_required(bone_idx: int, required: bool) 🔗
Imposta lo stato obbligatorio per osso all'indice bone_idx a required.
void set_tail_direction(bone_idx: int, tail_direction: TailDirection) 🔗
Imposta la direzione della coda dell'osso all'indice bone_idx.
Nota: Questo specifica solo il metodo di calcolo. Le coordinate effettive richieste devono essere memorizzate in uno scheletro esterno, quindi il calcolo stesso deve essere eseguito esternamente.
void set_texture(group_idx: int, texture: Texture2D) 🔗
Imposta la texture del gruppo all'indice group_idx che sarà l'immagine di sfondo del gruppo di disegno nell'editor di BoneMap.