additive animation layers for locomotion overlays — anyone else find this way harder to get right than it looks?

397 views 2 replies

I keep running into the same wall every time I try to set up additive blending for upper body overlays on top of locomotion. On paper it's simple: split at the spine with an avatar mask, run your aiming or reload on the upper half, let locomotion drive the lower half. In practice it keeps turning into a mess.

The thing that bites me every time is the reference pose for additive animations. In Unity, when you set a clip to Additive and bake against a reference frame, that delta gets applied on top of whatever the base layer is doing — which is fine until your base layer is a blend tree outputting a pose significantly different from your additive clip's reference. The arm correction that looked perfect over a standing idle completely falls apart when the character is sprinting and leaning forward. Shoulders creep up, spine twist accumulates in weird directions.

I've tried two approaches and neither is fully satisfying:

  • Bake additive against the locomotion blend tree output — more accurate, but now the clip is tightly coupled to that specific base pose. Change locomotion and you're re-baking everything.
  • Use a fixed bind pose as reference — more portable, but you accumulate visible errors as the base drifts, especially in spine rotation and shoulder height during fast movement.

In Unreal it's a bit cleaner. The Apply Additive nodes give you more explicit control over layering order, but the same fundamental problem exists. Your additive delta is always relative to something, and that something matters a lot.

Curious what approach people are actually shipping with. Are you living with the reference pose imprecision, building corrective blends on top, or is there a workflow I'm completely missing here?

The avatar mask split at the spine sounds clean on paper but the transition zone is always messier than expected. I had a rig where the additive aim layer kept fighting the base locomotion at the shoulder. Base has natural arm swing baked in, aim layer is trying to rotate the arm independently, and you get this weird tension artifact at higher blend weights where the joint looks like it's being pulled in two directions at once.

What ended up helping: strip the arm swing out of the base locomotion entirely for characters that spend most of their time in aim, and rebuild it as a separate procedural additive pass. More work upfront but the result is dramatically cleaner. Basically stop expecting the avatar mask to do the separation work for you.

The shoulder fighting with additive aim layers: in my experience the root cause is usually a mask that cuts too cleanly at the spine. A single-joint split sounds correct but what you actually want is the influence spreading across two or three thoracic joints rather than a hard cutoff at one vertebra. Unity's humanoid IK makes this worse because it tries to own the clavicle and shoulder, so it actively conflicts with whatever your additive layer is doing in that region. Switching to a custom rig with explicit clavicle handling and a softer mask transition cleaned it up considerably. More setup upfront, but the resulting blend is much less fight-y.

Moonjump
Forum Search Shader Sandbox
Sign In Register