Animation Layers (Additive Blending)


Adding Variation only

The purpose of the Additive Blend Mode (Variations Only) is to easily introduce diversity on crowds. For instance, instead of having all characters playing the same animation, they could each play this animation with a slight variation: this variation can be setup using an additive animation with different configurations (random start percent, random speed ratio, random animation ratio …). This mode aims at just adding variations to the animation resulting from the main blend pass, not to change the nature of this animation. As only variations in the animation are taken into account, animations of any kind can be used in this mode, as long as it only contains small variations (in particular on pelvis and legs). Best candidates for Additive Blend Mode (Variations Only) are animations such as breathing, standing and swing/sway animations, for instance:

A weapon-up stand animation

If applied in Additive Blend Mode (Variations Only), this kind of animation preserves the nature of the animation produced by the main blend pass, introducing some diversity in the resulting motion:

Output of main blend pass

Output of additive blend pass after playing
weapon-up stand animation in additive blend mode

Adding Variations and Modifying Postures

One of the main purposes of the Additive Blend Mode (Posture & Variations) is to easily animate separate body parts if using a set of animations properly prepared. For instance, a set of main animations (such as standing, walking ..) can be setup without animation on the hands or the face, and then another set of animations containing only animations on the hands or the face can be designed separately: the Additive Blend Mode (Posture & Variations) can then be used to control when to play animations on the hands or the face, independently from the other main animations controlling the rest of the body.

Notice that this design by animation layers can also be achieved using the standard Interpolated Blend Mode, but as it requires to properly configure body mask attributes and priorities/weights on each MotionBehavior, this can be a very complex and painful task when using a substantial count of animations.

Also notice that when preparing animations, a specific set of animations that only contains breathe/sway variations can also be designed: when played in Additive Blend Mode (Posture & Variations), they will then result in the same way that if used in Additive Blend Mode (Variations Only).

For instance, if considering the following animations:


Stand animation
(on full body except hands)

Breathe animation
(only on spine, arms and head)

Clench Fists animation
(only on hands)

Playing the Stand posture in Interpolated Blend Mode with both Breathe and Clench Fists animations in Additive Blend Mode (Posture & Variations) will then result in a kind of Stand Nervous animation (without needing to configure body masks):

A stand nervous animation

If now considering several characters, Breathe and Clench Fists animations can be configured with some randomness (in attributes such as Speed Ratio, Start Percent or Additive Blend Ratio, and also directly in Behavior Graph with random delays) to obtain a different and unique animation for each character:

Several characters each playing a stand nervous animation

Additive Blend Ratios

Additive blend ratios can be used to accurately control the amount of animation added. For instance, considering the following configuration for the additive animation in the previous example setup in Additive Blend Mode (Posture & Variations):

Main Blend Pass Output Animation
Additive Animations Input/Configuration Additive Blend Pass Output Animation


Waving T-Animation
Additive Blend Ratio is 0.0


Waving T-Animation
Additive Blend Ratio is 0.5

Added 50% of Waving T-Animation

Waving T-Animation
Additive Blend Ratio is 1.0

Added 100% of Waving T-Animation

Waving T-Animation
Additive Blend Ratio is 1.5

Added 150% of Waving T-Animation


For each body part, the amount of animation added is in fact the value of the Additive Blend Ratio divided by the number of additive animations currently in use on this body part (e.g. the number of MotionBehaviors configured in additive blend mode, using this body part and currently running)