SkeletonModifier3D
Hérite de : Node3D < Node < Object
Hérité par : BoneConstraint3D, LookAtModifier3D, ModifierBoneTarget3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
Un nœud qui peut modifier les os d'un Skeleton3D.
Description
SkeletonModifier3D récupère un Skeleton3D cible en ayant un Skeleton3D parent.
S'il y a un AnimationMixer, une modification s'effectue toujours après le processus de lecture de l'AnimationMixer.
Ce nœud devrait être utilisé pour implémenter des solveur d'IK, des contraintes ou de la physique de squelette personnalisés.
Tutoriels
Propriétés
|
||
|
Méthodes
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 |
Signaux
modification_processed() 🔗
Notifie quand la modification a été terminée.
Note : Si vous voulez obtenir la pose d'os modifiée par le modificateur, vous devez utiliser Skeleton3D.get_bone_pose() ou Skeleton3D.get_bone_global_pose() au moment où ce signal est tiré.
Énumérations
enum BoneAxis: 🔗
BoneAxis BONE_AXIS_PLUS_X = 0
Valeur d'énumération pour l'axe +X.
BoneAxis BONE_AXIS_MINUS_X = 1
Valeur d'énumération pour l'axe -X.
BoneAxis BONE_AXIS_PLUS_Y = 2
Valeur d'énumération pour l'axe +Y.
BoneAxis BONE_AXIS_MINUS_Y = 3
Valeur d'énumération pour l'axe -Y.
BoneAxis BONE_AXIS_PLUS_Z = 4
Valeur d'énumération pour l'axe +Z.
BoneAxis BONE_AXIS_MINUS_Z = 5
Valeur d'énumération pour l'axe -Z.
Descriptions des propriétés
Si true, le SkeletonModifier3D traitera.
Définit l'influence de la modification.
Note : Cette valeur est utilisée par Skeleton3D pour mélanger, de sorte que le SkeletonModifier3D devrait toujours seulement appliquer 100% du résultat sans interpolation.
Descriptions des méthodes
void _process_modification() virtual 🔗
Obsolète : Use _process_modification_with_delta() instead.
Redéfinissez cette méthode virtuelle pour implémenter un modificateur de squelette personnalisé. Vous devriez faire des choses comme obtenir la pose actuelle du Skeleton3D et appliquer la pose ici.
_process_modification() ne doit pas appliquer influence aux poses des os car le Skeleton3D applique automatiquement l'influence à toutes les poses des os définies par le modificateur.
void _process_modification_with_delta(delta: float) virtual 🔗
Redéfinissez cette méthode virtuelle pour implémenter un modificateur de squelette personnalisé. Vous devriez faire des choses comme obtenir la pose actuelle du Skeleton3D et appliquer la pose ici.
_process_modification_with_delta() ne doit pas appliquer influence aux poses des os car le Skeleton3D applique automatiquement l'influence à toutes les poses des os définies par le modificateur.
delta est passé depuis le Skeleton3D parent. Voir aussi Skeleton3D.advance().
void _skeleton_changed(old_skeleton: Skeleton3D, new_skeleton: Skeleton3D) virtual 🔗
Appelée quand le squelette est changé.
void _validate_bone_names() virtual 🔗
Appelée lorsque les noms et les index des os doivent être validés comme au moment d'entrer dans l'arbre ou du changement de squelette.
Skeleton3D get_skeleton() const 🔗
Obtient le nœud Skeleton3D parent si trouvé.