Compensation Motion

A feature of the AutoPhysics simulation.
This feature enhances animation by adding to it a compensation effect: essentially analyzing which parts of the character move in the animation and then moving other parts in opposite directions to put an emphasis on the original motion.

This effect is not complicated in nature, and it can in fact be achieved manually with relative ease. But still, using it can greatly improve the look and feel of the animation.

This effect can be enabled by turning on the Compensation motion switch, found on the Physics settings panel under the AutoPhysics tab:

The effect Compensation motion has on the animationis controlled by a dedicated set of parameters found on the Compensation motion tab:

ZMP weight
This parameter set the 'weight' for generating balancing motions.
When its value is low, animation generated by the algorithm is closer to the original animation. Increasing the value makes resulting animation more stable and balanced.

ZMP weight = 2

ZMP weight = 0.0001

And if ZMP weight is set to 0, the original animation will be played without any changes.

Rotation cut off%
The main setting for filtering Angular Momentum. Decreasing this value can lead to more smooth angular momentum.
Set to 100 by default.

Rotation cut off% = 0

Rotation cut off% = 20

When Rotation cut off% is set to 100, it won't have any effect on the angular momentum.

Translation cut off%
Same as above, but for translation instead of rotation.
Also set to 100 by befault.

Translation cut off% = 0

Translation cut off% = 50

These parameters, however, do not produce any effect on their own. In order to actually apply Compensation Motion to the character, you'll need to set the Muscle stiffness parameter for one or several Point Controllers.
This parameter can be found under the Compensation motion tab on the Object properties panel:

The Muscle stiffness parameter defines how much the Compensation Motion effect impacts the animation.
The value of 100 means that the tool would fully preserve local coordinates of the Rigid Body associated with the point.
The value of 0 means coordinates can change completely.
For practical tasks, we would recommend to use values between 5 and 50 for body parts that should be influenced by the Compensation Motion tool.

Here, Muscle stiffness is set to 5 for the right hand and to 20 for the left hand.
For the rest of the body, it is set to 100 (the default value).

There are also a number of additional parameters that can be found in the Settings Window, under the AutoPhysicsTool tab:

Compensation fulcrum smoothness frames
Sets the number of frames used for evening out motion for fulcrum points.
Set to 10 by default.

Compensation global weight
Controls how much the algorithm tries to preserve the global coordinates.

Compensation instant global restore
Controls how the algorithm reacts to changing in global coordinates. Increasing this value makes the objects restore their original positions faster, but also makes the animation less stable.
Set to 0.2 by default.

Compensation instant local restore
Same as above, but for local coordinates.

Compensation interframe count
The number of sub-frames used to compute the simulation. Increasing this number is recommended when the simulation is distorted.
The default value is 3.

Compensation interpolation frame count
The number of frames the algorithm uses to interpolate the beginning and the end parts of the generated animation so these parts would coincide with the corresponding parts of the original.
Set to 15 by default.

Compensation local weight
Same as Compensation global weight, but for local coordinates.

Compensation translation factor
Sets the priority for restoring local positions. Weights are multiplied by this value.
Increasing this parameter causes the local positions to be restored faster.

Current frame circle scale
Sets the size of the yellow circle that marks the current frame on the Compensation Motion trajectory in the Viewport window.
Its default value is 2.


See Also


AutoPhysics Settings

Physics Corrector

Was this article useful to you?