Fbx export: random, weird bones rotation artefact #53908
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#53908
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Win10
Blender Version
2.79
Short description of error
First, sorry if this report is a duplicate, i've found some similar report but could not make sure they're the same.
A few bones orientation are wrong when exported to Fbx then imported in Unity or Unreal Engine. Importing back the Fbx in Blender is ok, but not in these game engines.
Exact steps for others to reproduce the error
alice.fbx
Added subscriber: @LucasVeber
Added subscriber: @lichtwerk
Dont have access to Unity/Unreal atm.
@LucasVeber : could you upload a screenshot of both Unity and Unreal as a reference?
Sure thing. Actually it's the same issue in Maya in case you're able to test it. Haven't tested with 3dsmax but i'd assume it may be the same.
Here is attached a screenshot.
While praying for this bug not to be forgotten in the dark, i've simplified at maximum the example blend file (attached) to help. It now only contains one mesh and two bones. When exporting to Fbx and importing in other apps, such as Unity, "bone2" is imported with Rot X = 179.8, instead of -90.
Rotating in Edit Mode bone2 1 or 2 degrees in Blender fixes the issue. However it's not a clean solution, it may happen in other situations. Seems to happen when a bone is making 180 degrees x-axis angle with its parent.
After further investigations with the Fbx exporter code, tracking the exported rotations values seems to output correct values. However it's the way these values are read in other app that is the problem. Likely to be an euler issue, if only Fbx used quaternions...
Exported rotations from Blender, using a "print" command in the Fbx script (truncated for readibility):
bone1 [-90, 0, -90]
bone 2 [179.8, 0.115, 0.035]
Imported rotations in Unity (truncated for readibility):
bone1 [0.000, -90, 89.9]
bone 2 [179.8, -0.115, 0.0]
test_rot.blend
Added subscriber: @Jakuba
Added subscriber: @sunxmwork
Added subscriber: @DanielGrauer
Added subscribers: @mont29, @Sergey
@LucasVeber, thanks for simplifying the test case!
@mont29, not an expert, but doesn't seem to be bug in Blender, since this is another software which doesn't read values Blender is saving? Mind having a look?
Added subscriber: @iss
After doing export and import result looks like this:
So this issue may have been replaced by another issue
Added subscriber: @S-ed-3
Added subscriber: @YoshiAsk
I was reading this ancient post about FBX import/export in Blender, and it mentions "FBX bones are not aligned along the same axis as Blender bones (former are along -X axis I think, while later are along +Y axis)".
If this was never fixed, it might be what's causing the weirdness displayed in the previous sreenshot