You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Maya USD animation imports can have discontinuous rotations, where the euler rotation suddenly jumps to a different non-continuous value. This can happen from meshes exported by other tools, but also in Maya FBX -> USD conversions.
Steps to reproduce
Steps to reproduce the behavior:
Import the attached mesh "Bot Silly Dancing.fbx" (enable animations)
Group the 3 top levels nodes and then click export, then select USD as format and include animations
Clear the scene by deleting the top-level node
Import the converted USD (enable animations)
Run the animation at a high fps rate (~500fps) where the left shoulder will do some unnatural movements
Expected behavior
The animation in the imported USD should behave identical to the one from the FBX format.
Attachments
Problematic mesh (it is in the .zip archive), a video showcasing the issue, one screenshot is with the animation curves of the FBX mesh (the first image), while the second one is the same mesh exported with a different tool and imported into Maya as USD, showcasing the discontinuous Euler rotations.
Specs (if applicable):
OS & version: Windows 10
Compiler & version: Not compiled from source
Maya version: Maya 2025.3
Additional context
A clue might be the following function, UsdSkelDecomposeTransform, provided by the Pixar's USD SDK. Since it decomposes a matrix into TRS, the quaternion that it returns might not necessarily be in the same neighborhood as the previous one. I have seen this myself for a USDA file where I knew for a fact that the quaternion rotation at a time sample was [0.622, 0.312, 0.199, -0.689], meanwhile the quaternion that the decomposition returned was [-0.622, -0.312, -0.199, 0.689]. Depending on how the conversion to Euler is done afterwards, it might make the rotation values be discontinuous, when in fact they should be continuous.
In the provided test mesh, the problem manifests itself at high fps rates and not at smaller ones, because the intermediary samples don't fall into the discontinuities and jump over them, but for some other meshes exported by other tools, this can happen at many fps rates, including low and high.
Describe the bug
Maya USD animation imports can have discontinuous rotations, where the euler rotation suddenly jumps to a different non-continuous value. This can happen from meshes exported by other tools, but also in Maya FBX -> USD conversions.
Steps to reproduce
Steps to reproduce the behavior:
Expected behavior
The animation in the imported USD should behave identical to the one from the FBX format.
Attachments
Problematic mesh (it is in the .zip archive), a video showcasing the issue, one screenshot is with the animation curves of the FBX mesh (the first image), while the second one is the same mesh exported with a different tool and imported into Maya as USD, showcasing the discontinuous Euler rotations.
Specs (if applicable):
Additional context
A clue might be the following function,
UsdSkelDecomposeTransform, provided by the Pixar's USD SDK. Since it decomposes a matrix into TRS, the quaternion that it returns might not necessarily be in the same neighborhood as the previous one. I have seen this myself for a USDA file where I knew for a fact that the quaternion rotation at a time sample was [0.622, 0.312, 0.199, -0.689], meanwhile the quaternion that the decomposition returned was [-0.622, -0.312, -0.199, 0.689]. Depending on how the conversion to Euler is done afterwards, it might make the rotation values be discontinuous, when in fact they should be continuous.In the provided test mesh, the problem manifests itself at high fps rates and not at smaller ones, because the intermediary samples don't fall into the discontinuities and jump over them, but for some other meshes exported by other tools, this can happen at many fps rates, including low and high.
2025-07-30.13-21-40.mp4
Bot Silly Dancing.zip