System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1070 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 451.67
Blender Version
Broken: version: 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash: rB0f45cab862b8
Addon Information
Name: FBX format (4, 21, 3)
Author: Campbell Barton, Bastien Montagne, Jens Restemeier
Short description of error
I am exporting an animation of a skeletal mesh to FBX for import into Unreal Engine. The animation looks different/incorrect when imported into the following programs:
- Back into blender 2.91.0 itself in a separate blend file
- Unreal Engine 4.26
- Maya 2020
The animation is broken in a consistent way in all three pieces of software, leading me to suspect this may be is an issue w/ the FBX exporter in blender. Please let me know if this is something stupid that I am doing that is incompatible w/ FBX. When I export to COLLADA and then import into Maya 2020, it looks correct.
Exact steps for others to reproduce the error
- Open the attached blend file.
- Play the animation (Action.005 in the NLA editor) and observe the arms move up and down along with the rifle. Video Link
- Note that the left arm moves in sync w/ the rifle, as though attached (no discrepancy in their motion).
- Disable the "Child Of" constraint on the rifle armature in preparation for export.
- Select the scene (except the camera). Just the Armature, character mesh, and rifle armature + mesh.
- Export to FBX w/ the following settings: Link (I have attached the resulting file as all.fbx)
- In a new blender instance, import the FBX.
- Attach the rifle to the "u_weapon_socket_r" bone of the character Armature w/ a Child Of constraint. (I have done this and attached this new blend file as "reimported.blend" if you want an example).
- Play the animation and observe that the left hand no longer moves consistently w/ the right (or the rifle). Video Link Now it drifts around a bit relative to the rifle. The effect is a bit subtle, so I recommend opening the blend file and watching to observe.
This same result can be obtained when importing into Unreal Engine 4.26, and Maya 2020. Video Link of the same issue happening when importing the all.fbx file into Maya 2020 (played back slightly sped up).
Notably, if I export as Collada and then import into Maya and add a similar child-of constraint, it looks correct. When importing the DAE file though, Maya prints the following warnings (which may be insightful):
While reading or writing a file the following notifications have been raised. ... Warning: The transform of node "Armature" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_pelvis" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_spine_01" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_spine_02" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_spine_03" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_neck_01" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_head" is not compatible with FBX, so it is baked into TRS. Warning: The unsupported technique element with profile "blender" in node element "Armature_head" Warning: The unsupported technique element with profile "blender" in node element "Armature_neck_01" Warning: The transform of node "Armature_clavicle_l" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_upperarm_l" is not compatible with FBX, so it is baked into TRS. Warning: The transform of node "Armature_lowerarm_l" is not compatible with FBX, so it is baked into TRS. Truncated ...
Not sure why it is printing about FBX when importing the DAE file, but I thought it might be relevant. It does not print these warnings when importing the FBX (but does look incorrect).
Thanks very much for any assistance (and for developing Blender!).