Answered

Importing Humanoid animation into uMotion or Unity creates worse result than keeping it Generic (on the same character)

skinwalker 8 months ago updated by Peter - Soxware Developer 8 months ago 3

Hi,

I'm making fighting and wrestling animations between 2 characters in Maya.

I tried making 2 humanoid animations and designed specifically for the characters, I even created a mask and turned all the non-humanoid bones on, but still during certain moves I will see the hand of one clipping into the other (the issue isn't present in Maya nor when I use Generic setup on the same characters). I used Keyframe reduction set to off.

Importing them into uMotion I turned on hand and foot IK, used the other default settings and when I exported .anim files still the characters have the same issues clipping fingers / arms and sometimes other problems.

Do you know what might be causing this? How do I get the humanoid animations to be 1:1 the same as Generic when I retarget it on literally the same characters it was designed for.

UMotion Version:
Unity Version:
2021 LTS

Answer

Answer
Answered

Hi,
thank you very much for your support request.

How do I get the humanoid animations to be 1:1 the same as Generic when I retarget it on literally the same characters it was designed for.


The main situation in which to use humanoid is if you don't care of the animation not being played 1:1 as authored because you want to share that animation on lots of different characters (where the animation can't be precisely mapped anyway due to different body proportions etc.). So I would highly recommend sticking with generic in your case.


Even if you play a humanoid animation on the same character you originally authored the animation for, the animation is passed through the entire re-targeting pipeline so there is always a loss of quality/precision.

Best regards,
Peter

Answer
Answered

Hi,
thank you very much for your support request.

How do I get the humanoid animations to be 1:1 the same as Generic when I retarget it on literally the same characters it was designed for.


The main situation in which to use humanoid is if you don't care of the animation not being played 1:1 as authored because you want to share that animation on lots of different characters (where the animation can't be precisely mapped anyway due to different body proportions etc.). So I would highly recommend sticking with generic in your case.


Even if you play a humanoid animation on the same character you originally authored the animation for, the animation is passed through the entire re-targeting pipeline so there is always a loss of quality/precision.

Best regards,
Peter

Hi,

The problem is that my Locomotion animations are Humanoid (from the asset store) only wrestling animations are done and tailored to the character specifically. So could you confirm that even if the character is 1:1 the same, just switching to Humanoid and retargeting it to itself it loses quality?

Yes, definitely. I highly recommend you to check out this blog post to learn more about the inner workings of humanoid: https://blog.unity.com/engine-platform/mecanim-humanoids

You could convert your locomotion animations to generic. One way to do this would be to create a humanoid UMotion project, import the locomotion animations and then export the animations into the FBX file of your character. Then configure your character to generic and you have your generic locomotion animations.

Best regards,
Peter