Animation Blend Masks

In other game engines, like Unreal or Unity, they support a type of animation called blend masking. This allows you to have a bit more control over playing multiple animations at once, and having them have different weights on different bones. An incredibly solid use-case for this would be a character model where you want them to hold a gun, be able to look up/down via IK, have all their locomotion animations (sprinting, jumping, walking), and have all their action animations (shooting, reloading, death, etc)

Blend Mask in Unreal:

Avatar Mask in Unity:

I am at a point where this is becoming more-and-more necessary, especially as I want to use non-standard R15 characters. There is no such way to blend animations together where I have one that affects lower body and one that affects upper body. A naive approach would be to delete the keyframes that you don’t want modified on your animation, but then you have a problem where the character will not be aligned correctly when there’s multiple sources trying to modify bone rotations (i.e. using IK to look down, but sprint animation affects torso rotation). This is solvable in unity via (Mesh Space Rotation Blend):


I really do not want to implement this myself, as I fear it wont be as performant as native code. I don’t need this for one character or two, but up to 30-40 characters, with 40-60 bones in each character.

24 Likes

Awesome suggestion. I wish they add this, with blendtrees/ blendspaces too

5 Likes

We’d also like this feature. It’s really useful in Unity.