Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

SkeletonModifier3D

Inherits: Node3D < Node < Object

Inherited By: PhysicalBoneSimulator3D, SkeletonIK3D, XRBodyModifier3D, XRHandModifier3D

A Node that may modify Skeleton3D's bone.

Description

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.

Tutorials

Properties

bool

active

true

float

influence

1.0

Methods

void

_process_modification() 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.


Property Descriptions

bool active = true 🔗

  • void set_active(value: bool)

  • bool is_active()

If true, the SkeletonModifier3D will be processing.


float influence = 1.0 🔗

  • void set_influence(value: float)

  • float get_influence()

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 🔗

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.


Skeleton3D get_skeleton() const 🔗

Get parent Skeleton3D node if found.