Answered

Humanoid animation: strange thumb orientation

Anonymous 5 years ago updated by Peter - Soxware Developer 10 months ago 8

Hello, I encountered strange behavior - when creating animations with uMotion everything works fine except for both thumb bones.
For some reason something from animation is not applying to that bones, in other words when playing animation in game -> right and left thumb bones are not following animation correctly.
I've tried in different humanoid characters (both with IK and without), started new project and all result are the same.
Here is a quick example screenshots done in new project in Unity 2019.3.
Made simple animation in uMotion Pro with both hands to demonstrate the issue:
a) this is how I want animation to look

Image 365


b) this is how animation looks in game

Image 366


As you can see from screenshots: right thumb is completely off from animation, left thumb is somewhat missing rotation.
Can you assist me to understand why is this happening and how to fix it?

UMotion Version:
Unity Version:

Answer

Answer
Answered

Hi,
thank you very much for your support request.

The animation re-targeting quality of "humanoid" is largely dependent on how accurate the T-Pose of your character is in the humanoid avatar configuration. If you get re-targeting issues on specific bones (the thumb bones in your case), make sure to adjust the thumb bone in the humanoid avatar configuration to match the T-Pose more accurately:

  1. Select your character in Unity's "Project Window".
  2. In the "Inspector" window click on "Rig" and then on "Configure...".
  3. Now ensure that the bones of your thumb are both highlighted in green (and that their role's are assigned correctly). Then ensure that their pose is correct as described by Unity:


Source: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

Enlarged version of the picture from the blog post (notice the thumb orientation):

When you've saved your changes of the humanoid avatar, you need to re-export your animation from your UMotion project in order for the changes to be applied to the animation.

Btw. small re-targeting errors are always expected when working with humanoid. That's just in the nature of this animation system (check out the blog post linked above to get a better idea of what humanoid is all about). If you want "pixel perfect" results, use "generic" instead.

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.

The animation re-targeting quality of "humanoid" is largely dependent on how accurate the T-Pose of your character is in the humanoid avatar configuration. If you get re-targeting issues on specific bones (the thumb bones in your case), make sure to adjust the thumb bone in the humanoid avatar configuration to match the T-Pose more accurately:

  1. Select your character in Unity's "Project Window".
  2. In the "Inspector" window click on "Rig" and then on "Configure...".
  3. Now ensure that the bones of your thumb are both highlighted in green (and that their role's are assigned correctly). Then ensure that their pose is correct as described by Unity:


Source: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

Enlarged version of the picture from the blog post (notice the thumb orientation):

When you've saved your changes of the humanoid avatar, you need to re-export your animation from your UMotion project in order for the changes to be applied to the animation.

Btw. small re-targeting errors are always expected when working with humanoid. That's just in the nature of this animation system (check out the blog post linked above to get a better idea of what humanoid is all about). If you want "pixel perfect" results, use "generic" instead.

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

Best regards,
Peter

Thank you for the reply. 

This is avatar for this particular example https://gyazo.com/f1aa063358b29cc813423b413aaea58f

This is free knight model from Unity store, It looks quite the same as avatar image you provided. It shows everything correct as far as I understand, so I am not sure what to adjust here...

In resulted animations all bones are fine except right and left thumbs. I can live with left thumb offset, because its really quite small, but right is kinda too much. I've found this issue on my CC3 characters, then created new project with basic model from the store to check if it is model issue. Regardless of character I tried result is the same. So I am quite lost how to proceed.

When you compare the thumb of your picture with the thumb of the picture that Unity provides as reference (from my previous post) you can see that your thumb is rotated differently. Try to match it as close as possible to what Unity requests:

"-Thumbs straight parallel to the ground half way (45 degrees) between x and z axis".

Also make sure that both the pose of the left and the right hand are the same (on the picture it looks like the left hand points down).

Also please note that humanoid has less degrees of freedom for the thumb than a generic animation. Humanoid always is just an approximation, never a precise playback of the authored animation (like "generic" is).

Best regards,
Peter

Hm, I will take a look more closely. Can you pls provide a link to this default character and its avatar so I can compare his avatar in Unity more closely?

The screenshot was taken from Unity's blog post related to humanoid: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

Unfortunately I don't know where they have gotten this model from...

Best regards,
Peter

 Hmm.. I have done multiple adjustments for avatar and looked in resulted animations. So far it didn't look exactly matched but definitely better more closely than it was before.  I haven't realized that avatars were not configured automatically perfectly by Unity or Asset developers, and you need to spent quite a time to configure issue bones in Avatar configuration.. 

Also didn't know that you have to re-export animations once avatar is changed. Thanks for the help :)

All is well until I move the Unity animator controller time line cursor

Image 1371

Image 1373

Image 1372

The thumb setup in the following screenshot looks OK. Does your skeleton model's thumb also look like this in the humanoid avatar setup:

Image 1379


Please note that the thumb pose in the avatar setup is used as a reference. If it is rotated differently to how Unity expects it, this offset is added to the final animation.


It might be required to re-export the animation (maybe even create a fresh UMotion project and re-import the the old project *.asset file) in order for the changes to take affect.

Best regards,
Peter