FBX Export doesn't maintain custom pivot locations. #104758

Closed
opened 2023-07-18 10:46:50 +02:00 by Nicholas-Joseph · 4 comments

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: AMD Radeon(TM) Graphics ATI Technologies Inc. 4.5.14830 Core Profile Context 21.10.20.07 27.20.21020.7001

Blender Version
Broken: version: 3.5.1, branch: blender-v3.5-release, commit date: 2023-04-24 18:11, hash: e1ccd9d4a1d3
Worked: (newest version of Blender that worked as expected)

Addon Information
Name: FBX format (4, 37, 5)
Author: Campbell Barton, Bastien Montagne, Jens Restemeier

Short description of error
If I changed the pivot point location, say to a vertex or edge center, or anywhere, and then export, exporting to the Unreal Engine, The pivot is reset to the center of the world. (0,0,0) The pivot isn't where I expect.

Exact steps for others to reproduce the error
To reproduce, move the pivot point (cursor) to any location. File > Export as a FBX. I used the default settings. Then import into any other software. I am using the Unreal Engine. Notice the pivot isn't maintained.

Thanks

**System Information** Operating system: Windows-10-10.0.19044-SP0 64 Bits Graphics card: AMD Radeon(TM) Graphics ATI Technologies Inc. 4.5.14830 Core Profile Context 21.10.20.07 27.20.21020.7001 **Blender Version** Broken: version: 3.5.1, branch: blender-v3.5-release, commit date: 2023-04-24 18:11, hash: `e1ccd9d4a1d3` Worked: (newest version of Blender that worked as expected) **Addon Information** Name: FBX format (4, 37, 5) Author: Campbell Barton, Bastien Montagne, Jens Restemeier **Short description of error** If I changed the pivot point location, say to a vertex or edge center, or anywhere, and then export, exporting to the Unreal Engine, The pivot is reset to the center of the world. (0,0,0) The pivot isn't where I expect. **Exact steps for others to reproduce the error** To reproduce, move the pivot point (cursor) to any location. File > Export as a FBX. I used the default settings. Then import into any other software. I am using the Unreal Engine. Notice the pivot isn't maintained. Thanks
Nicholas-Joseph added the
Type
Report
Priority
Normal
Status
Needs Triage
labels 2023-07-18 10:46:51 +02:00

Are you referring to the Transform Pivot Point options?
If so, this is a property of the scene and has little to do with meshes and therefore is not supposed to be exported with FBX.

Are you referring to the `Transform Pivot Point` options? If so, this is a property of the scene and has little to do with meshes and therefore is not supposed to be exported with FBX.
Germano Cavalcante added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-07-18 15:43:34 +02:00

Hello,

Thanks for taking a look at my ticket.
Any change to the pivot is not reflected in the export. It seems like the pivot is always at the world orgin.

Please take a look at the quick vid I made showing the issue.
https://youtu.be/WqAsJDrly04

I also made this to show how the export is in max and maya.
https://youtu.be/I5sqvTZwrjc

Thanks

Hello, Thanks for taking a look at my ticket. Any change to the pivot is not reflected in the export. It seems like the pivot is always at the world orgin. Please take a look at the quick vid I made showing the issue. https://youtu.be/WqAsJDrly04 I also made this to show how the export is in max and maya. https://youtu.be/I5sqvTZwrjc Thanks
Member

I have attached a simple cube exported from Blender whose origin I have moved above it. Importing this back into Blender or into Unity works as expected.

imageimage

Note that 3ds Max has a separate "object-offset" concept which can be set per object and is not the same as moving an Object's origin in Blender. This is written into .fbx files as an additional Geometric Transformation on top of the object's position and the mesh vertices positions, and is similar to adding a Geometry Nodes modifier with a Transform Geometry node in Blender.

The "object-offset" would allow you to have multiple mesh objects with the same mesh data, but different pivot points (not possible in Blender without per-object modifiers such as Geometry Nodes). If that feature of 3ds Max is being used, you may find that Unreal will import the .fbx differently with the same settings compared to a Blender exported .fbx because the 3ds exported .fbx is using a different means of moving the pivot of the object.

You should be able to check if an .fbx is using an additional Geometric Transformation to move the pivot instead of moving the entire object by importing it into Blender because Blender does not preserve the separate pivot offset and instead moves the entire object (#104558).

And if you attach .fbx files here, I can take a closer look at them.

I have attached a simple cube exported from Blender whose origin I have moved above it. Importing this back into Blender or into Unity works as expected. ![image](/attachments/c85663e4-5327-4bea-b7df-d1e84d61a551)![image](/attachments/6c4fe595-4a97-4b05-b097-a3c28bd5010f) Note that 3ds Max has a separate "object-offset" concept which can be set per object and is not the same as moving an Object's origin in Blender. This is written into .fbx files as an additional Geometric Transformation on top of the object's position and the mesh vertices positions, and is similar to adding a Geometry Nodes modifier with a Transform Geometry node in Blender. The "object-offset" would allow you to have multiple mesh objects with the same mesh data, but different pivot points (not possible in Blender without per-object modifiers such as Geometry Nodes). If that feature of 3ds Max is being used, you may find that Unreal will import the .fbx differently with the same settings compared to a Blender exported .fbx because the 3ds exported .fbx is using a different means of moving the pivot of the object. You should be able to check if an .fbx is using an additional Geometric Transformation to move the pivot instead of moving the entire object by importing it into Blender because Blender does not preserve the separate pivot offset and instead moves the entire object (https://projects.blender.org/blender/blender-addons/issues/104558). And if you attach .fbx files here, I can take a closer look at them.

Thanks! I'll investigate further. Maybe the issue is on the Unreal side since it seems to work for Unity.

Thanks! I'll investigate further. Maybe the issue is on the Unreal side since it seems to work for Unity.
Blender Bot added
Status
Archived
and removed
Status
Needs Information from User
labels 2023-07-20 18:25:22 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#104758
No description provided.