Page Info
Engine Version:

Spring Controller

Choose your OS:

The Spring Controller applies a control node that can be used to limit how far a bone can stretch from its reference pose position while applying force in the opposite direction.


Below, we demonstrate how the Spring Controller can be used to simulate movement of non-animated bones.

In the video above, the character has a Furnace attached to their back that was not animated with the character's movement (initially shown without the Spring Controller connected). We then connect the nodes to include the Spring Controller that is targeting the Furnace Bone and adjust the Spring Stiffness and Spring Damping settings to generate the movement.




Spring Bone

Name of the bone to apply the spring solver to.

Limit Displacement

If enabled, the spring solver is applied.

Max Displacement

The maximum distance the bone can stretch.

Spring Stiffness

A multiplier for the amount of force applied by the spring. Larger values require more bone velocity to displace the bone and result in a larger applied force.

Spring Damping

The amount of the bone's velocity removed by the spring.

Error Reset Thresh

A threshold displacement - if the spring stretches more than this amount, it resets in order to avoid errors introduced by sudden, large displacements such as those caused by teleporting Actors.

No ZSpring

If enabled, the displacement in the Z axis is ignored by the spring and is always correct.

Spring Controller nodes are also affected by the LOD Threshold system introduced in 4.11. You can find the setting for this in the Details Panel for the Spring Controller node.




LOD Threshold

This is the max Level of Detail (LOD) that this node is permitted to run on. For example: if you have LOD Threshold set to 2, it will run until LOD 2, but disable itself once the component's LOD becomes 3.