Answered

My idle animation differs from what I saw in Clip Editor when using in Animation Controller

xetra11 9 months ago updated by Peter - Soxware Developer 9 months ago 1

Image 1388

Clip Editor

Image 1389

Runtime


In the screenshots you can see I have a different outcome when using the Clip Editor and finally using the saved animation in the Animation Controller of my actor. The legs are slighty shifted inwards and I can not locate the source of the problem.

Can someone point out what I might've missed out?

UMotion Version:
1.29p02
Unity Version:
2022.3.4f1

Answer

Answer
Answered

Hi,
thank you very much for your support request.

Theses subtle differences are introduced by the nature of the humanoid animation system. The humanoid animation system is a system designed to allow sharing animations between different characters (something that a regular animation system can't do). This is achieved by "normalizing" an input animation in a more generalized format which is then applied to the humanoid actor. This process is called "animation re-targeting" and this conversion is a "lossy" process, meaning that it introduces small inaccuracies. So it trades the flexibility that you could for example use the same animation you crafted for your "brick guardian" on "robot kyle" or any other character configured as humanoid, with the loss of accuracy.

I recommend reading this blog post to learn more how humanoid works: https://blog.unity.com/engine-platform/mecanim-humanoids

In my personal opinion, the differences in your screenshots are so minimal, that I had to put them next to each other to even see it. So you could probably just live with it and players won't ever notice. If you really want 100% accuracy (and don't need to share the animation between characters), simply re-configure your character from humanoid to generic. Generic plays the animation as it is, without any conversion steps.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answer
Answered

Hi,
thank you very much for your support request.

Theses subtle differences are introduced by the nature of the humanoid animation system. The humanoid animation system is a system designed to allow sharing animations between different characters (something that a regular animation system can't do). This is achieved by "normalizing" an input animation in a more generalized format which is then applied to the humanoid actor. This process is called "animation re-targeting" and this conversion is a "lossy" process, meaning that it introduces small inaccuracies. So it trades the flexibility that you could for example use the same animation you crafted for your "brick guardian" on "robot kyle" or any other character configured as humanoid, with the loss of accuracy.

I recommend reading this blog post to learn more how humanoid works: https://blog.unity.com/engine-platform/mecanim-humanoids

In my personal opinion, the differences in your screenshots are so minimal, that I had to put them next to each other to even see it. So you could probably just live with it and players won't ever notice. If you really want 100% accuracy (and don't need to share the animation between characters), simply re-configure your character from humanoid to generic. Generic plays the animation as it is, without any conversion steps.

Please let me know in case you have any follow-up questions.

Best regards,
Peter