Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
SkeletonModification2DJiggle¶
Inherits: SkeletonModification2D < Resource < RefCounted < Object
A modification that jiggles Bone2D nodes as they move towards a target.
Description¶
This modification moves a series of bones, typically called a bone chain, towards a target. What makes this modification special is that it calculates the velocity and acceleration for each bone in the bone chain, and runs a very light physics-like calculation using the inputted values. This allows the bones to overshoot the target and "jiggle" around. It can be configured to act more like a spring, or sway around like cloth might.
This modification is useful for adding additional motion to things like hair, the edges of clothing, and more. It has several settings to that allow control over how the joint moves when the target moves.
Note: The Jiggle modifier has jiggle_joints
, which are the data objects that hold the data for each joint in the Jiggle chain. This is different from than Bone2D nodes! Jiggle joints hold the data needed for each Bone2D in the bone chain used by the Jiggle modification.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
Property Descriptions¶
float damping = 0.75
The default amount of damping applied to the Jiggle joints, if they are not overridden. Higher values lead to more of the calculated velocity being applied.
Vector2 gravity = Vector2(0, 6)
The default amount of gravity applied to the Jiggle joints, if they are not overridden.
int jiggle_data_chain_length = 0
The amount of Jiggle joints in the Jiggle modification.
float mass = 0.75
The default amount of mass assigned to the Jiggle joints, if they are not overridden. Higher values lead to faster movements and more overshooting.
float stiffness = 3.0
The default amount of stiffness assigned to the Jiggle joints, if they are not overridden. Higher values act more like springs, quickly moving into the correct position.
NodePath target_nodepath = NodePath("")
The NodePath to the node that is the target for the Jiggle modification. This node is what the Jiggle chain will attempt to rotate the bone chain to.
bool use_gravity = false
Whether the gravity vector, gravity, should be applied to the Jiggle joints, assuming they are not overriding the default settings.
Method Descriptions¶
int get_collision_mask ( ) const
Returns the collision mask used by the Jiggle modifier when collisions are enabled.
NodePath get_jiggle_joint_bone2d_node ( int joint_idx ) const
Returns the Bone2D node assigned to the Jiggle joint at joint_idx
.
int get_jiggle_joint_bone_index ( int joint_idx ) const
Returns the index of the Bone2D node assigned to the Jiggle joint at joint_idx
.
float get_jiggle_joint_damping ( int joint_idx ) const
Returns the amount of damping of the Jiggle joint at joint_idx
.
Vector2 get_jiggle_joint_gravity (