Importing animation with different root jointOrientation then 0,0,0 causes model to twist and turn

Problem is as fallows.

  1. Using Mixamo skeleton animation - root joint rotations are not 0,0,0 but jointOrientation are 0,0,0 - so importing it into three.js editor - it displays all properly.
    https://monosnap.com/file/gCUNM0M1FmggIrZc4uVNUPQj0wWqOB

  2. Using Maya skeleton animation (for example AdvancedSkeleton rig) - root joint rotations are 0,0,0 but jointOrientations are not 0,0,0 - so importing it into three.js editor - it displays all wrong.
    https://monosnap.com/file/jpP9fmZ7RGITSI8hFxuO5YC0dsK2mO

So - is it a bug, or there is some workaround this?

Ps. I already made rig with some 20+ animations with AdvSkeleton in Maya. So I discussed with AdvSkel guys on workaround - but there is no solution on this side.

Can you please share a problematic FBX file in this thread?

@Mugen87 Here You go. Also here is preview, how it looks in Maya editor, when imported.
https://monosnap.com/file/OrdBbgWHr8Xr25CPGsUOKnGFUAvZYu

char_idle_01.fbx (1.3 MB)

I’ve imported the FBX with FBXLoader and can confirm that the skeleton does not look correct:

However, I have the same issue when importing the FBX into Blender. Can you please try to convert the FBX to glTF with the following CLI tool?

There are multiple issues at github about FBX related transformation problems, e.g. https://github.com/mrdoob/three.js/issues/14864. Using glTF is one workaround.

@mugen87 Ok, converted - what’s next?
buffer.bin (60.9 KB)
char_idle_01.gltf (38.2 KB)

Now you can load the asset with GLTFLoader. I’ve already tested the asset with the following three.js baed glTF viewer and the result looks good: https://gltf-viewer.donmccurdy.com/