Up to date

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

Bone2D

Inherits: Node2D < CanvasItem < Node < Object

A joint used with Skeleton2D to control and animate other nodes.

Description

A hierarchy of Bone2Ds can be bound to a Skeleton2D to control and animate other Node2D nodes.

You can use Bone2D and Skeleton2D nodes to animate 2D meshes created with the Polygon2D UV editor.

Each bone has a rest transform that you can reset to with apply_rest. These rest poses are relative to the bone's parent.

If in the editor, you can set the rest pose of an entire skeleton using a menu option, from the code, you need to iterate over the bones to set their individual rest poses.

Properties

Transform2D

rest

Transform2D(0, 0, 0, 0, 0, 0)

Methods

void

apply_rest ( )

bool

get_autocalculate_length_and_angle ( ) const

float

get_bone_angle ( ) const

int

get_index_in_skeleton ( ) const

float

get_length ( ) const

Transform2D

get_skeleton_rest ( ) const

void

set_autocalculate_length_and_angle ( bool auto_calculate )

void

set_bone_angle ( float angle )

void

set_length ( float length )


Property Descriptions

Transform2D rest = Transform2D(0, 0, 0, 0, 0, 0)

Rest transform of the bone. You can reset the node's transforms to this value using apply_rest.


Method Descriptions

void apply_rest ( )

Stores the node's current transforms in rest.


bool get_autocalculate_length_and_angle ( )