FBX import export - overscales camera focus distance by 1000 times #105088

Closed
opened 2023-12-27 06:40:28 +01:00 by Andrej · 3 comments
Contributor

Blender 4.0.2

Way to reproduce it:

  1. In default blender scene leave only camera and set it's focus distance to 15m or download attached file - camera_export.blend

  2. Export it with default settings with Blender FBX or use camera_blender_original.fbx

  3. Import it to Houdini or Maya (in my case it's Houdini)

  4. Focus distance end up being 1 500 000 units (translation is 0,0,1798.66, which is similar to what it was in Blender).

Houdini:
image

image

Maya:
image
image

@Mysteryem @mont29

Blender 4.0.2 Way to reproduce it: 1) In default blender scene leave only camera and set it's focus distance to 15m or download attached file - [camera_export.blend](/attachments/056b73b3-9adc-4ee4-823e-d77b24b86720) 2) Export it with default settings with Blender FBX or use [camera_blender_original.fbx](/attachments/283a0d39-ef4c-49d2-8e72-6ed0ea1b9651) 3) Import it to Houdini or Maya (in my case it's Houdini) 4) Focus distance end up being 1 500 000 units (translation is 0,0,1798.66, which is similar to what it was in Blender). Houdini: ![image](/attachments/db08700c-70a3-41ee-a3dc-a1fbddf8346a) ![image](/attachments/4326fee1-6b38-433e-863e-06f8a10c2b33) Maya: ![image](/attachments/820e8f99-04bf-4dba-9d2e-27eac349f649) ![image](/attachments/7c320983-bbed-4743-98ed-4459759d163f) @Mysteryem @mont29
Andrej added the
Status
Needs Triage
Priority
Normal
Type
Report
labels 2023-12-27 06:40:29 +01:00
Andrej changed title from FBX import export - overscales camera focus distance by 100 to FBX import export - overscales camera focus distance by 1000 times 2023-12-27 06:48:46 +01:00
Member

The deprecated SetSpecificDistance() and GetSpecificDistance() in the FBX 2010 SDK (FBX 6.1) documentation said the values to get and set would be in millimetres, as per the discussion in https://developer.blender.org/D6666, but I suspect that only applied to those deprecated functions and not FocusDistance.Get() and FocusDistance.Set() which seem to have been the replacement for the deprecated functions.

The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation.

The deprecated `SetSpecificDistance()` and `GetSpecificDistance()` in the FBX 2010 SDK (FBX 6.1) documentation said the values to get and set would be in millimetres, as per the discussion in https://developer.blender.org/D6666, but I suspect that only applied to those deprecated functions and not `FocusDistance.Get()` and `FocusDistance.Set()` which seem to have been the replacement for the deprecated functions. The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation.
Author
Contributor

The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation.

Does it mean that it's safe to remove millimeter conversion now?

> The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation. Does it mean that it's safe to remove millimeter conversion now?
Member

The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation.

Does it mean that it's safe to remove millimeter conversion now?

I think the millimetre conversion was probably always wrong.

I would guess that some time in the past (pre FBX 6.1), getting or setting FocusDistance with the FBX SDK was only done with SetSpecificDistance() and GetSpecificDistance() which use/return millimetres, and that, at some point, the FBX SDK added the FocusDistance property (presumably in metres), which can be accessed directly, and kept the old functions around for a while for compatibility.

> > The deprecated millimetre functions don't exist in the FBX 2011 SDK (FBX 7.1) and newer documentation. > > Does it mean that it's safe to remove millimeter conversion now? I think the millimetre conversion was probably always wrong. I would guess that some time in the past (pre FBX 6.1), getting or setting FocusDistance with the FBX SDK was only done with `SetSpecificDistance()` and `GetSpecificDistance()` which use/return millimetres, and that, at some point, the FBX SDK added the `FocusDistance` property (presumably in metres), which can be accessed directly, and kept the old functions around for a while for compatibility.
Blender Bot added
Status
Resolved
and removed
Status
Needs Triage
labels 2024-01-16 21:48:23 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 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#105088
No description provided.