SkeletonModifier3D
Inherits: Node3D < Node < Object
Inherited By: BoneConstraint3D, LookAtModifier3D, ModifierBoneTarget3D, PhysicalBoneSimulator3D, RetargetModifier3D, SkeletonIK3D, SpringBoneSimulator3D, XRBodyModifier3D, XRHandModifier3D
A node that may modify a Skeleton3D's bones.
Description
SkeletonModifier3D retrieves a target Skeleton3D by having a Skeleton3D parent.
If there is an AnimationMixer, a modification always performs after playback process of the AnimationMixer.
This node should be used to implement custom IK solvers, constraints, or skeleton physics.
Tutorials
Properties
| bool | active | true |
|---|---|---|
| float | influence | 1.0 |
Methods
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 |
| Skeleton3D | get_skeleton\ (\ ) const |
Signals
modification_processed\ (\ ) 🔗
Notifies when the modification have been finished.
\ Note: If you want to get the modified bone pose by the modifier, you must use Skeleton3D.get_bone_pose() or Skeleton3D.get_bone_global_pose() at the moment this signal is fired.
Enumerations
enum BoneAxis: 🔗
BoneAxis BONE_AXIS_PLUS_X = 0
Enumerated value for the +X axis.
BoneAxis BONE_AXIS_MINUS_X = 1
Enumerated value for the -X axis.
BoneAxis BONE_AXIS_PLUS_Y = 2
Enumerated value for the +Y axis.
BoneAxis BONE_AXIS_MINUS_Y = 3
Enumerated value for the -Y axis.
BoneAxis BONE_AXIS_PLUS_Z = 4
Enumerated value for the +Z axis.
BoneAxis BONE_AXIS_MINUS_Z = 5
Enumerated value for the -Z axis.
Property Descriptions
If true, the SkeletonModifier3D will be processing.
Sets the influence of the modification.
\ Note: This value is used by Skeleton3D to blend, so the SkeletonModifier3D should always apply only 100% of the result without interpolation.
Method Descriptions
void _process_modification\ (\ ) virtual 🔗
Deprecated: Use _process_modification_with_delta() instead.
Override this virtual method to implement a custom skeleton modifier. You should do things like get the Skeleton3D's current pose and apply the pose here.
\ _process_modification() must not apply influence to bone poses because the Skeleton3D automatically applies influence to all bone poses set by the modifier.
void _process_modification_with_delta\ (\ delta: float\ ) virtual 🔗
Override this virtual method to implement a custom skeleton modifier. You should do things like get the Skeleton3D's current pose and apply the pose here.
\ _process_modification_with_delta() must not apply influence to bone poses because the Skeleton3D automatically applies influence to all bone poses set by the modifier.
\ delta is passed from parent Skeleton3D. See also Skeleton3D.advance().
void _skeleton_changed\ (\ old_skeleton: Skeleton3D, new_skeleton: Skeleton3D\ ) virtual 🔗
Called when the skeleton is changed.
void _validate_bone_names\ (\ ) virtual 🔗
Called when bone name and index need to be validated such as the timing of the entering tree or changing skeleton.
Skeleton3D get_skeleton\ (\ ) const 🔗
Get parent Skeleton3D node if found.