Class reference
SkeletonModificationStack2D
Inherits Resource
A resource that holds a stack of SkeletonModification2Ds.
Description
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
bool enabled = false
bool enabled = falseIf true, the modification's in the stack will be called. This is handled automatically through the Skeleton2D node.
int modification_count = 0
int modification_count = 0The number of modifications in the stack.
float strength = 1.0
float strength = 1.0The 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.
Methods
void add_modification(SkeletonModification2D modification)
SkeletonModification2D modification)Adds the passed-in SkeletonModification2D to the stack.
void delete_modification(int mod_idx)
int mod_idx)Deletes the SkeletonModification2D at the index position mod_idx, if it exists.
void enable_all_modifications(bool enabled)
bool enabled)Enables all SkeletonModification2Ds in the stack.
void execute(float delta, int execution_mode)
float delta, int execution_mode)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.
bool get_is_setup() const
bool get_is_setup() constReturns a boolean that indicates whether the modification stack is setup and can execute.
SkeletonModification2D get_modification(int mod_idx) const
SkeletonModification2D get_modification(int mod_idx) constReturns the SkeletonModification2D at the passed-in index, mod_idx.
Skeleton2D get_skeleton() const
Skeleton2D get_skeleton() constReturns the Skeleton2D node that the SkeletonModificationStack2D is bound to.
void set_modification(int mod_idx, SkeletonModification2D modification)
int mod_idx, SkeletonModification2D modification)Sets the modification at mod_idx to the passed-in modification, modification.
void 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.