Download

Apply Additive Node has undesired effect on Curves

I have an additive animation to do something simple like adding on a breathing animation to the character. It has no curves. The apply additive node seems to blend the curves of the additive animation with the incoming animation, and depending on the additive weight, it removes the curve values which I don’t want at all. If the additive node has a weight of 1, it effectively removes all curves from the incoming pose.

I realized a pretty funny mistake. My additive animation was set to be additive relative to another animation that had curves. Because the additive animation didn’t have those curves as well, the curve value is 0. 0 - 1 = -1. So my additive animation was effectively subtracting the curve value by applying -1 to the value.

I did some debugging pretty deep into the anim asset saving code. My additive animation for some reason was applying -1 as the value for a curve track that wasn’t even in the asset. And it was pulling this -1 by computing the curves relative to the base additive pose. Thought I found some strange engine bug at first, but now it makes perfect sense.

TL;DR if your additive animation is based on a sequence with curves, have the exact same curve values in the additive animation or your additive animation will subtract those curves.