SkeletonModifier3D
Eredita: Node3D < Node < Object
Ereditato da: BoneConstraint3D, LookAtModifier3D, ModifierBoneTarget3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
Un nodo che potrebbe modificare le ossa di uno Skeleton3D.
Descrizione
SkeletonModifier3D recupera uno Skeleton3D di destinazione avendo un Skeleton3D genitore.
Se un AnimationMixer è presente, la modificazione è sempre eseguita dopo il processo di riproduzione dell'AnimationMixer.
Questo nodo si dovrebbe utilizzare per implementare risolutori IK personalizzati, vincoli o fisica per lo scheletro.
Tutorial
Proprietà
|
||
|
Metodi
void |
_process_modification() virtual |
void |
_process_modification_with_delta(delta: float) virtual |
void |
_skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual |
void |
_validate_bone_names() virtual |
get_skeleton() const |
Segnali
modification_processed() 🔗
Notifica quando la modificazione è stata completata.
Nota: Se vuoi ottenere la posa dell'osso modificata dal modificatore, devi usare Skeleton3D.get_bone_pose() o Skeleton3D.get_bone_global_pose() nel momento in cui viene attivato questo segnale.
Enumerazioni
enum BoneAxis: 🔗
BoneAxis BONE_AXIS_PLUS_X = 0
Valore enumerato per l'asse +X.
BoneAxis BONE_AXIS_MINUS_X = 1
Valore enumerato per l'asse -X.
BoneAxis BONE_AXIS_PLUS_Y = 2
Valore enumerato per l'asse +Y.
BoneAxis BONE_AXIS_MINUS_Y = 3
Valore enumerato per l'asse -Y.
BoneAxis BONE_AXIS_PLUS_Z = 4
Valore enumerato per l'asse +Z.
BoneAxis BONE_AXIS_MINUS_Z = 5
Valore enumerato per l'asse -X.
Descrizioni delle proprietà
Se true, il SkeletonModifier3D sarà elaborato.
Imposta l'influenza della modificazione.
Nota: Questo valore viene utilizzato da Skeleton3D per la fusione, quindi uno SkeletonModifier3D dovrebbe sempre applicare solo il 100% del risultato senza interpolazione.
Descrizioni dei metodi
void _process_modification() virtual 🔗
Deprecato: Use _process_modification_with_delta() instead.
Sostituisci questo metodo virtuale per implementare un modificatore scheletro personalizzato. Dovresti fare cose come ottenere la posa attuale di Skeleton3D e applicare la posa qui.
_process_modification() non deve applicare influence alle pose delle ossa perché Skeleton3D applica automaticamente l'influenza a tutte le pose delle ossa impostate dal modificatore.
void _process_modification_with_delta(delta: float) virtual 🔗
Sostituisci questo metodo virtuale per implementare un modificatore personalizzato di scheletro. Dovresti fare cose come ottenere la posa attuale dello Skeleton3D e applicare la posa qui.
_process_modification_with_delta() non deve applicare influence alle pose delle ossa perché lo Skeleton3D applica automaticamente l'influenza a tutte le pose delle ossa impostate dal modificatore.
delta viene passato dallo Skeleton3D genitore. Vedi anche Skeleton3D.advance().
void _skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual 🔗
Emesso quando lo scheletro è cambiato.
void _validate_bone_names() virtual 🔗
Chiamato quando è necessario convalidare il nome e l'indice dell'osso, ad esempio nel momento in cui si entra nell'albero o lo scheletro cambia.
Skeleton3D get_skeleton() const 🔗
Ottiene il nodo Skeleton3D genitore se trovato.