Bone2D

Inherits: Node2D < CanvasItem < Node < Object

Joint used with Skeleton2D to control and animate other nodes.

Description

Use a hierarchy of Bone2D 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 Polygon 2D 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

float

default_length

16.0

Transform2D

rest

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

Methods

void

apply_rest ( )

int

get_index_in_skeleton ( ) const

Transform2D

get_skeleton_rest ( ) const


Property Descriptions

float default_length = 16.0

  • void set_default_length ( float value )

  • float get_default_length ( )

Length of the bone's representation drawn in the editor's viewport in pixels.


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

Resets the bone to the rest pose. This is equivalent to setting Node2D.transform to rest.


int get_index_in_skeleton ( ) const

Returns the node's index as part of the entire skeleton. See Skeleton2D.


Transform2D get_skeleton_rest ( ) const

Returns the node's rest Transform2D if it doesn't have a parent, or its rest pose relative to its parent.