Inheritance #

Table of contents

SkeletonModifier3D #

is_instantiable, Node3D, Node, core, not_builtin_classes

A node that may modify Skeleton3D's bone.

SkeletonModifier3D retrieves a target Skeleton3D by having a Skeleton3D parent.

If there is AnimationMixer, modification always performs after playback process of the AnimationMixer.

This node should be used to implement custom IK solvers, constraints, or skeleton physics.

Members #

var active: bool = true#

If true, the SkeletonModifier3D will be processing.

var influence: float = 1.0#

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.

Methods #

virtual func _process_modification() -> void#

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.

const func get_skeleton() -> Skeleton3D#

Get parent Skeleton3D node if found.

Annotations #

Constants #

const BONE_AXIS_PLUS_X = 0 enum BoneAxis#

Enumerated value for the +X axis.

const BONE_AXIS_MINUS_X = 1 enum BoneAxis#

Enumerated value for the -X axis.

const BONE_AXIS_PLUS_Y = 2 enum BoneAxis#

Enumerated value for the +Y axis.

const BONE_AXIS_MINUS_Y = 3 enum BoneAxis#

Enumerated value for the -Y axis.

const BONE_AXIS_PLUS_Z = 4 enum BoneAxis#

Enumerated value for the +Z axis.

const BONE_AXIS_MINUS_Z = 5 enum BoneAxis#

Enumerated value for the -Z axis.

Constructors #

Enums #

BoneAxis#

enum BoneAxis { BONE_AXIS_PLUS_X = 0, BONE_AXIS_MINUS_X = 1, BONE_AXIS_PLUS_Y = 2, BONE_AXIS_MINUS_Y = 3, BONE_AXIS_PLUS_Z = 4, BONE_AXIS_MINUS_Z = 5, }

Operators #

Signals #

signal 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.

Theme Items #

Tutorials #