Dynamic bone chains are a very flexible tool that can be used to animate a variety of objects, such as fabric or tails. However, it can be difficult to get an intuition on which parameters need to be modified in order to achieve the desired effects. This page aims at giving insight on what these parameters represent, and some pointers on what values to use for different purposes.
Description of the parameters
These descriptions are not technical definitions, but attempts at a more intuition-based explanation of how they behave.
Inertia
Affects how much each bone will resist being moved away from its resting position when the object is translated.
In a sense, it can be interpreted as how much each bone wants to stay in place relative to either the world, or its parent bone.
A value of 0 will leave each bone free to move from its initial configuration in order to stay at its global position. A value of 1 will cause the bone chain to try keeping its original shape as much as possible when the object moves.
Inertia force
Affects how much bones will be accelerated when the object is translated.
A value of 0 will leave the bones unaffected when the object moves in space. Positive values will make the bones accelerate in the direction of movement, whereas negative values will make them accelerate in the opposite direction.
Damping
Affects how much bones will decelerate once they have been set in motion.
Higher values will cause them to decelerate at a higher rate, effectively slowing down the movement of the bones. A value of 0 will cause the bones to never decelerate naturally, potentially causing them to oscillate indefinitely.
Elasticity
Affects how much bones will be accelerated towards their resting position once they have been rotated away from it.
Higher values will cause the bones to rotate more rapidly towards their resting angle, with very high values potentially causing it to overshoot the target and oscillate. Lower values will make them return to their resting position more slowly.
Stiffness
Affects by how much bones can possibly be moved away from their resting position.
Each bone can rotate up to (1 - stiffness)*180° away from its resting position. A value of 0 allows each bone to rotate freely, whereas a value of 1 absolutely constrains it to its resting position.
Community presets
This is a collection of sets of values suggested by members of the Resonite community, which can be used as a starting point for creating dynamic bone chains depending on the type of object being animated.
The settings that make a dynamic bone chain "feel good" are highly suggestive, it is recommended to experiment and play around with the sliders to find a good set of values for each use case.
Description | Author | Inertia | InertiaForce | Damping | Elasticity | Stiffness | Additional comments |
---|---|---|---|---|---|---|---|
Default | Resonite | 0.2 | 2 | 5 | 100 | 0.2 | These are the default values of a newly created DynamicBoneChain |
Tail | Lu Zanth | 0.2 | -2 | 14 | 200 | 0.2 | Good preset for a tail. Gives a decent bit of wobble, without it jiggling too long after the player stops moving |
Ears | Aegis Wolf | 0.2 | 2 | 23 | 550 | 0.55 | High damping and elasticity to make the ears feel a bit more rigidly rooted to the head, with a high stiffness to avoid clipping through the head. |
Hair (short) | Aegis Wolf | 0.75 | -3 | 22 | 350 | 0.8 | Negative inertia force to make it look like it’s being affected by the wind, combined with high inertia and stiffness to avoid it flopping around at every move. |