SkeletonModifier3D (original) (raw)
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...
Inherits: Node3D < Node < Object
Inherited By: LookAtModifier3D, 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
Methods
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().
Skeleton3D get_skeleton() const 🔗
Get parent Skeleton3D node if found.