I am trying to completely understand Unity's character animation in all flavors. Obviously, I still have misunderstood the blending and mixing abilities to some degree.
That is why I am going through the character animation example. In SuperMarioAnimation.js the jump-Animation is set to layer 1 in order to override the other animations. If I jump when walking, goober jumps and the animation is 100% the jump animation. When goober idles he moves his head. When I make him jump the head does not return to its original position or the position in the jump animation. Therefore, I would say, there is a mixing between the idle and the jump animation. What is the reason for that effect?
I just started playing with the Character Animation tutorial, and I'm a noob at animation, so take this for what it's worth. :) But what I suspect is happening is this:
Regarding how Animations work - they are a set of Keys (IPOs) for a set of Bones, where those Bones alter the Mesh (I'm sure it's more complex than that). However, when you are making an Animation, you have to pick which Bones are Keyed, and move them. The 3D package won't create a Key for every single Bone in the model. So if you do not Key the particular Bone for a particular section of the Mesh, it won't be changed.
The Jump Animation may have just not Keyed a Bone in the model's neck. It's hard to tell from running it, but it looks like just the spine is moving in the upper area. If so, then running Jump wouldn't change the neck Bone's setting - it would stay whatever it was before. Which could be either rotated from Idle, or neutral.
So the Jump Animation is over-riding the Idle animation, there is no mixing. But it's only applying it's own Keys, which may not include the neck or head.
answered Mar 12 '10 at 05:04 PM