Table of Contents

Class SkeletonModificationStack2D

A resource that holds a stack of SkeletonModification2Ds.

Inheritance
SkeletonModificationStack2D

Remarks

This resource is used by the Skeleton and holds a stack of SkeletonModification2Ds.

This controls the order of the modifications and how they are applied. Modification order is especially important for full-body IK setups, as you need to execute the modifications in the correct order to get the desired results. For example, you want to execute a modification on the spine before the arms on a humanoid skeleton.

This resource also controls how strongly all of the modifications are applied to the Skeleton2D.

Properties

enabled

If true, the modification's in the stack will be called. This is handled automatically through the Skeleton2D node.

var enabled : bool = false

Property Value

bool

Remarks

  • void set_enabled(bool value)
  • bool get_enabled

modification_count

The number of modifications in the stack.

var modification_count : int = 0

Property Value

int

Remarks

  • void set_modification_count(int value)
  • int get_modification_count

strength

The interpolation strength of the modifications in stack. A value of 0 will make it where the modifications are not applied, a strength of 0.5 will be half applied, and a strength of 1 will allow the modifications to be fully applied and override the Skeleton2D Bone2D poses.

var strength : float = 1.0

Property Value

float

Remarks

  • void set_strength(float value)
  • float get_strength

Methods

add_modification(SkeletonModification2D)

Adds the passed-in SkeletonModification2D to the stack.

void add_modification(SkeletonModification2D modification)

Parameters

modification SkeletonModification2D

delete_modification(int)

Deletes the SkeletonModification2D at the index position mod_idx, if it exists.

void delete_modification(int mod_idx)

Parameters

mod_idx int

enable_all_modifications(bool)

Enables all SkeletonModification2Ds in the stack.

void enable_all_modifications(bool enabled)

Parameters

enabled bool

execute(float, int)

Executes all of the SkeletonModification2Ds in the stack that use the same execution mode as the passed-in execution_mode, starting from index 0 to modification_count.

Note: The order of the modifications can matter depending on the modifications. For example, modifications on a spine should operate before modifications on the arms in order to get proper results.

void execute(float delta, int execution_mode)

Parameters

delta float
execution_mode int

get_is_setup

Qualifiers: const

Returns a boolean that indicates whether the modification stack is setup and can execute.

bool get_is_setup

get_modification(int)

Qualifiers: const

Returns the SkeletonModification2D at the passed-in index, mod_idx.

SkeletonModification2D get_modification(int mod_idx)

Parameters

mod_idx int

get_skeleton

Qualifiers: const

Returns the Skeleton2D node that the SkeletonModificationStack2D is bound to.

Skeleton2D get_skeleton

set_modification(int, SkeletonModification2D)

Sets the modification at mod_idx to the passed-in modification, modification.

void set_modification(int mod_idx, SkeletonModification2D modification)

Parameters

mod_idx int
modification SkeletonModification2D

setup

Sets up the modification stack so it can execute. This function should be called by Skeleton2D and shouldn't be manually called unless you know what you are doing.

void setup