Search Unity

What goes on behind the scenes of Additive animation blending?

Discussion in 'Animation' started by TheChronicPhenix, May 10, 2022.

  1. TheChronicPhenix

    TheChronicPhenix

    Joined:
    Jan 14, 2010
    Posts:
    874
    The short of it is that I'd love to know what calculation or set of operations is done behind the scenes when additively blending animations.

    A bit of backstory, I've been working on a system for blending lower and upper body animations along with custom IK aiming for a third-person shooter, I progressed the system pretty far, but, realized that rather than isolating the animations from each other, blending them together could look better, after some work figuring out additive animations I got some great results, the problem however is that certain animations were causing the system to break, and after lots of testing I narrowed it down to the additive blending. I did some basic research and couldn't find much on the behind the scenes of additive blending, ran a pretty exhaustive amount of testing that mainly amounted to somewhat educated guesses and stabs in the dark simply trying to replicate the blending incorporated by Unity, I also found the source code Unity had released and spent hours pouring through it though I wasn't too sure precisely what I was looking for and unfortunately managed to come up with nothing. I tried many systems of my own being fairly well versed in quaternions, measuring from a source frame of rotation and applying those back, even modifying the additive rotations to the orientation of the base animation bone to bone, but, every version I've tried (including many that had zero logical foundation) came up with different results, thus, whatever logic goes into the process for blending animation values completely escapes me.

    This is ultimately a pretty specific issue so I'm not too sure what the odds are of getting answers, but, I figured it wouldn't hurt to see if anyone else had done similar research in the past or if someone that worked on the system would be willing to share what's going on. Any help or even just hints to work from would be greatly appreciated, thanks!
     
  2. TheChronicPhenix

    TheChronicPhenix

    Joined:
    Jan 14, 2010
    Posts:
    874
    This is an incredibly niche problem to run across I know I expect very few people out there have needed to dig into it so I didn't really expect a response, but, I figure I'll give it a bump anyway, any info would be greatly appreciated