Mecanim ruins custom animations

Hello Community!

I made a set of walk animations in Cinema 4d and in there they look acceptable for my needs. Problem is for whatever reason, the Mecanim avatar system doesn’t seem to like my animations.

I uploaded a video to show what I mean. There is an enormous jitter/lag when the agent moves around the corners:

Demo on Youtube

The walk animations run absolutely fluid in cinema 4d. There are no artifacts at all. I made sure that the end of one animation state is equal to the beginning of the other animation state.

In Unity I tried to fine-tune transitions and tried every possible import settings combination, to no avail. Most of the times it looks good in the preview panel but freaks out in game.

The other problem is, that Unity constrains the rotation of limbs (avatar muscle settings), even with all import settings set to ‘Based Upon Original’. It ruins the animations that way. Is there a method to prevent Unity completely from altering the animation values, so, using root motion but leaving the original animation untouched, is that possible?

I would be grateful for any idea on these two matters.

It’s been a while, but still, for people like me which use mecanim ai agents and experience the same jitter/lag issue:

In the ‘Locomotion’ script, which comes with the famous “Mecanim Example Project” there is a method called ‘Do(float speed, float direction)’ in it you’ll find the line:

bool inWalkRun = state.IsName("Locomotion.Walk") || state.IsName("Locomotion.Run") || state.IsName("Locomotion.WalkRun");

Make sure you insert all animator states right here, that make your agent move around corners, otherwise the above mentioned problem will occur!

As for the other Problem:
There is really no way to get past the mecanim bone limitations for now, at least none that I know of.