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.

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à

int

bone_size

0

int

group_size

0

StringName

root_bone

&""

StringName

scale_base_bone

&""

Metodi

int

find_bone(bone_name: StringName) const

StringName

get_bone_name(bone_idx: int) const

StringName

get_bone_parent(bone_idx: int) const

StringName

get_bone_tail(bone_idx: int) const

StringName

get_group(bone_idx: int) const

StringName

get_group_name(group_idx: int) const

Vector2

get_handle_offset(bone_idx: int) const

Transform3D

get_reference_pose(bone_idx: int) const

TailDirection

get_tail_direction(bone_idx: int) const

Texture2D

get_texture(group_idx: int) const

bool

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à

int bone_size = 0 🔗

  • void set_bone_size(value: int)

  • int get_bone_size()

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.


int group_size = 0 🔗

  • void set_group_size(value: int)

  • int get_group_size()

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 = &"" 🔗

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 = &"" 🔗

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.