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...
SkeletonModifier3D
Eredita: Node3D < Node < Object
Ereditato da: BoneConstraint3D, BoneTwistDisperser3D, IKModifier3D, LimitAngularVelocityModifier3D, 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.
enum BoneDirection: 🔗
BoneDirection BONE_DIRECTION_PLUS_X = 0
Valore enumerato per l'asse +X.
BoneDirection BONE_DIRECTION_MINUS_X = 1
Valore enumerato per l'asse -X.
BoneDirection BONE_DIRECTION_PLUS_Y = 2
Valore enumerato per l'asse +Y.
BoneDirection BONE_DIRECTION_MINUS_Y = 3
Valore enumerato per l'asse -Y.
BoneDirection BONE_DIRECTION_PLUS_Z = 4
Valore enumerato per l'asse +Z.
BoneDirection BONE_DIRECTION_MINUS_Z = 5
Valore enumerato per l'asse -X.
BoneDirection BONE_DIRECTION_FROM_PARENT = 6
Valore enumerato per l'asse da un osso padre all'osso figlio.
enum SecondaryDirection: 🔗
SecondaryDirection SECONDARY_DIRECTION_NONE = 0
Enumerated value for the case when the axis is undefined.
SecondaryDirection SECONDARY_DIRECTION_PLUS_X = 1
Valore enumerato per l'asse +X.
SecondaryDirection SECONDARY_DIRECTION_MINUS_X = 2
Valore enumerato per l'asse -X.
SecondaryDirection SECONDARY_DIRECTION_PLUS_Y = 3
Valore enumerato per l'asse +Y.
SecondaryDirection SECONDARY_DIRECTION_MINUS_Y = 4
Valore enumerato per l'asse -Y.
SecondaryDirection SECONDARY_DIRECTION_PLUS_Z = 5
Valore enumerato per l'asse +Z.
SecondaryDirection SECONDARY_DIRECTION_MINUS_Z = 6
Valore enumerato per l'asse -X.
SecondaryDirection SECONDARY_DIRECTION_CUSTOM = 7
Enumerated value for an optional axis.
enum RotationAxis: 🔗
RotationAxis ROTATION_AXIS_X = 0
Valore enumerato per la rotazione dell'asse X.
RotationAxis ROTATION_AXIS_Y = 1
Valore enumerato per la rotazione dell'asse Y.
RotationAxis ROTATION_AXIS_Z = 2
Valore enumerato per la rotazione dell'asse Z.
RotationAxis ROTATION_AXIS_ALL = 3
Valore enumerato per la rotazione senza vincoli.
RotationAxis ROTATION_AXIS_CUSTOM = 4
Enumerated value for an optional rotation axis.
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().
Nota: È possibile chiamare questo metodo fuori da Node._process() e Node._physics_process() con delta pari a 0.0, poiché la modificazione si dovrebbe elaborare subito dopo l'inizializzazione dello Skeleton3D.
void _skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual 🔗
Emesso quando lo scheletro è cambiato.
void _validate_bone_names() virtual 🔗
Called when bone names and indices need to be validated, such as when entering the scene tree or changing skeleton.
Skeleton3D get_skeleton() const 🔗
Returns the parent Skeleton3D node if it exists. Otherwise, returns null.