Answered

Animation Root looks different in Animation Preview window

Anonymous 10 months ago updated by Peter - Soxware Developer 8 months ago 7

After I edit my animation inside umotion and export it (as anim file), and go to my character, then preview the animation inside the animation window during editor/play mode, the character is slightly moved downwards, so my characters root is not the same as in the clip editor. (Inside the clip editor when importing existing animations, im converting FK to IK, if that matters). So my question is why does the animations not looks the same in the animation preview window as inside umotion clip editor? Especially the Y position? Im using Humanoid character.

UMotion Version:
newest
Unity Version:
2023.3.1

Answer

Answer
Answered

Hi,
thank you very much for your support request.

There are a few settings that can affect how Unity's humanoid animation system offsets the y coordinate of the character. Here are some things you might want to check:

  1. Select the exported *.anim file and check these settings in the Inspector:
    Image 1376
    Based Upon should be set to "Original". Enabling Bake Into Pose also helps from time to time.
  2. Try to let UMotion create the root motion curves for you (by default, Unity generates the root motion curves). You can enable this by clicking on the "Gear"-icon in the clip editor. Then select the "Clip" tab and check the "Generate Root Motion Curves" feature:
    Image 1377
  3. Make sure that only the root (i.e. top-most) GameObject of your character is scaled. All bones between the root and the hips (inclusive) should not be scaled.
  4. Try to use the FBX export instead. In order for the FBX export to work correctly, you need to select the *.fbx file of your character as export destination. That way, the animation is written directly into the character's *.FBX file ensuring that the correct humanoid avatar is used for importing the animation.

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.

There are a few settings that can affect how Unity's humanoid animation system offsets the y coordinate of the character. Here are some things you might want to check:

  1. Select the exported *.anim file and check these settings in the Inspector:
    Image 1376
    Based Upon should be set to "Original". Enabling Bake Into Pose also helps from time to time.
  2. Try to let UMotion create the root motion curves for you (by default, Unity generates the root motion curves). You can enable this by clicking on the "Gear"-icon in the clip editor. Then select the "Clip" tab and check the "Generate Root Motion Curves" feature:
    Image 1377
  3. Make sure that only the root (i.e. top-most) GameObject of your character is scaled. All bones between the root and the hips (inclusive) should not be scaled.
  4. Try to use the FBX export instead. In order for the FBX export to work correctly, you need to select the *.fbx file of your character as export destination. That way, the animation is written directly into the character's *.FBX file ensuring that the correct humanoid avatar is used for importing the animation.

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

Best regards,
Peter

Hi I am facing a very similar problem to this. I tried doing what was suggested but my character Y position seems to be completely different. I tried exporting as FBX and Anim but none works. I also tried baking and generate root motion curves but nothing is working.

Bug

In the video, you can see the character's Y position was offset up really high. In the pose editor, I never changed the character's Y position. All I did was to rotate the character in a circle and make that into an animation. I'm trying to make a spin animation

Unity's humanoid animation system doesn't like scaling being applied to certain bones. If even the FBX animation doesn't work, there is definitely something wrong with the character setup.


Please try the following: Drag and drop your character's FBX file directly into the scene. This creates a fresh instance of your character, that has no user applied changes. Create a new UMotion project for that instance of your character and try to create some basic animation for it (or import some existing animations). Exporting the animation and verify if it works.


Best regards,
Peter

Would IK set up affect the exported animation? I have pro version and used the set up wizard to move the arm. I also used child of constraint so I wonder if that affect?

No the problem you are experiencing is coming directly from the humanoid animation system. The usual cause of such issues is a mismatch in the scaling (scale that the character or some bones of it had during humanoid setup vs. what the actual character instance has).

Best regards,
Peter