How to animate top half with one animation and bottom half with another

How do I animate say, a run animation but have parts which more strongly play a different animation? according to docs it affects the whole mesh when blending…

I actually “solved” this problem after a lot of experimentation. I don’t know if it is intended to be this way or what I did was a hack. Anyway,

When you import animations (I was using blender integration), Unity will basically create keyframes where they don’t exist. That is, all animations will have all keyframes with a particular transform matrix. This is bad. What you need to do after the animation has been imported is DELETE the keyframes from certain animations.

For example, if you have a knife throw animation, you need to delete all transforms of bones from the torso down. Then you need to set it to a high animation layer, such as 10. You need to then put all your “base” animations such as running/jumping on a layer below 10. Then you can play the knife-throw animation and it won’t impact the legs (which will continue running/jumping/etc) because you’ve deleted the keyframes that would override them.

1 Like

Very nice, ty for the information.

This isn’t the correct way to do it…

The correct method is to use mixing transforms;

That way you can tell a certain animation only to affect the first spine bone and all of it’s children (i.e. the rest of the torso) and it won’t apply to the legs. And you can set it to blend (i.e. override) or additive (add on top of the animation that’s already there).

Very good information, thanks!