Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
Skeleton2D
Inherits: Node2D < CanvasItem < Node < Object
The parent of a hierarchy of Bone2Ds, used to create a 2D skeletal animation.
Description
Skeleton2D parents a hierarchy of Bone2D nodes. It holds a reference to each Bone2D's rest pose and acts as a single point of access to its bones.
To set up different types of inverse kinematics for the given Skeleton2D, a SkeletonModificationStack2D should be created. The inverse kinematics be applied by increasing SkeletonModificationStack2D.modification_count and creating the desired number of modifications.
Tutorials
Methods
void |
execute_modifications(delta: float, execution_mode: int) |
get_bone_count() const |
|
get_bone_local_pose_override(bone_idx: int) |
|
get_modification_stack() const |
|
get_skeleton() const |
|
void |
set_bone_local_pose_override(bone_idx: int, override_pose: Transform2D, strength: float, persistent: bool) |
void |
set_modification_stack(modification_stack: SkeletonModificationStack2D) |
Signals
bone_setup_changed() 🔗
Emitted when the Bone2D setup attached to this skeletons changes. This is primarily used internally within the skeleton.
Method Descriptions
void execute_modifications(delta: float, execution_mode: int) 🔗
Executes all the modifications on the SkeletonModificationStack2D, if the Skeleton2D has one assigned.
Returns a Bone2D from the node hierarchy parented by Skeleton2D. The object to return is identified by the parameter idx
. Bones are indexed by descending the node hierarchy from top to bottom, adding the children of each branch before moving to the next sibling.
Returns the number of Bone2D nodes in the node hierarchy parented by Skeleton2D.
Transform2D get_bone_local_pose_override(bone_idx: int) 🔗
Returns the local pose override transform for bone_idx
.
SkeletonModificationStack2D get_modification_stack() const 🔗
Returns the SkeletonModificationStack2D attached to this skeleton, if one exists.
Returns the RID of a Skeleton2D instance.
void set_bone_local_pose_override(bone_idx: int, override_pose: Transform2D, strength: float, persistent: bool) 🔗
Sets the local pose transform, override_pose
, for the bone at bone_idx
.
strength
is the interpolation strength that will be used when applying the pose, and persistent
determines if the applied pose will remain.
Note: The pose transform needs to be a local transform relative to the Bone2D node at bone_idx
!
void set_modification_stack(modification_stack: SkeletonModificationStack2D) 🔗
Sets the SkeletonModificationStack2D attached to this skeleton.