Table of Contents

Class SkeletonModification2D

Base class for resources that operate on Bone2Ds in a Skeleton2D.

Inheritance
SkeletonModification2D
Derived

Remarks

This resource provides an interface that can be expanded so code that operates on Bone2D nodes in a Skeleton2D can be mixed and matched together to create complex interactions.

This is used to provide Godot with a flexible and powerful Inverse Kinematics solution that can be adapted for many different uses.

Properties

enabled

If true, the modification's SkeletonModification2D._execute function will be called by the SkeletonModificationStack2D.

var enabled : bool = true

Property Value

bool

Remarks

  • void set_enabled(bool value)
  • bool get_enabled

execution_mode

The execution mode for the modification. This tells the modification stack when to execute the modification. Some modifications have settings that are only available in certain execution modes.

var execution_mode : int = 0

Property Value

int

Remarks

  • void set_execution_mode(int value)
  • int get_execution_mode

Methods

_draw_editor_gizmo

Qualifiers: virtual

Used for drawing editor-only modification gizmos. This function will only be called in the Godot editor and can be overridden to draw custom gizmos.

Note: You will need to use the Skeleton2D from get_skeleton and it's draw functions, as the SkeletonModification2D resource cannot draw on its own.

void _draw_editor_gizmo

_execute(float)

Qualifiers: virtual

Executes the given modification. This is where the modification performs whatever function it is designed to do.

void _execute(float delta)

Parameters

delta float

_setup_modification(SkeletonModificationStack2D)

Qualifiers: virtual

Called when the modification is setup. This is where the modification performs initialization.

void _setup_modification(SkeletonModificationStack2D modification_stack)

Parameters

modification_stack SkeletonModificationStack2D

clamp_angle(float, float, float, bool)

Takes an angle and clamps it so it is within the passed-in min and max range. invert will inversely clamp the angle, clamping it to the range outside of the given bounds.

float clamp_angle(float angle, float min, float max, bool invert)

Parameters

angle float
min float
max float
invert bool

get_editor_draw_gizmo

Qualifiers: const

Returns whether this modification will call _draw_editor_gizmo in the Godot editor to draw modification-specific gizmos.

bool get_editor_draw_gizmo

get_is_setup

Qualifiers: const

Returns whether this modification has been successfully setup or not.

bool get_is_setup

get_modification_stack

Returns the SkeletonModificationStack2D that this modification is bound to. Through the modification stack, you can access the Skeleton2D the modification is operating on.

SkeletonModificationStack2D get_modification_stack

set_editor_draw_gizmo(bool)

Sets whether this modification will call _draw_editor_gizmo in the Godot editor to draw modification-specific gizmos.

void set_editor_draw_gizmo(bool draw_gizmo)

Parameters

draw_gizmo bool

set_is_setup(bool)

Manually allows you to set the setup state of the modification. This function should only rarely be used, as the SkeletonModificationStack2D the modification is bound to should handle setting the modification up.

void set_is_setup(bool is_setup)

Parameters

is_setup bool