Legacy animation ok, Mecanim animation bad

Hi!

I’ve been struggling with this for some time already and can’t find a clue.

See attached image.

Problem is, the left model has a Legacy Animation component that plays the animation exactly as should be.
The right model has a Generic Mecanim Rig animator that tries to play the same animation, but fails, showing a distorted, crazy animation.

I’m not applying root motion, root node is set to none, anim. compression is off, and the animation take is not transforming any root transform (based upon original.) Also had the same problem with Humanoid Rig, wich sadly makes the whole Mecanim system useless for me.

Am I missing something?

Thanks in advance.

1136986--42970--$Captura de pantalla 2013-01-15 a las 14.16.36.png

Can you log a bug with your project attached? kind of hard to know what is wrong.

Best regards,
Sonny

Ok, done. Hope it helps :slight_smile:
Thanks.

Hum, just found this difference is caused by how it’s looping the animation. When loop pose is disabled, the animations are identical. Is there a way to make it loop the same way legacy anim does (i.e. without end-begin interpolation)? I guess I can always add an extra keyframe in the end of the animation in order to make it equal, although I’d expect mecanim to behave the same as legacy (given legacy is being phased out.)

I’ve also now tried a humanoid avatar and found mecanim is highly sensible about the hierarchy and it is not enough to match bones in the avatar based on its position.

I guess the bug report is not valid anymore. I’d like to know about the looping thing, anyway.

I am facing exactly the same problem. Did you manage to solve it?

Thank you very much in advance.

The Mecanim looping fixes small inconsistencies. This means that if your animation doesn’t start and end in the same pose you can get undesired behaviour.

The reason for this is simple, if you have motion captured data its never 100% right. Your run animation will often have a tiny insignificant turn in it. This is what the Root Transform Rotation/Position settings is about. Telling the animation system which motion is intended and which should be filtered away.

In order to correctly use the Loop Pose this data should be set up correctly.

If you have a situation where you want to loop an animation without it being smooth/coherent/physically correct I’m afraid for now you’ll have to use two states and do some magic (near instant transitions) to obtain it.

Having non-loop-blended looping animations is likely to be added in the future.