[Bf-extensions-cvs] [9eddf664] master: FBX Import: corrected import camera. Added setting camera (invert or not invert).
Spivak Vladimir cwolf3d
noreply at git.blender.org
Sun Jan 19 16:41:52 CET 2020
Commit: 9eddf664d68a2ed6be1bf17b0b26d6d66d81c0eb
Author: Spivak Vladimir (cwolf3d)
Date: Sun Jan 19 17:41:16 2020 +0200
Branches: master
https://developer.blender.org/rBA9eddf664d68a2ed6be1bf17b0b26d6d66d81c0eb
FBX Import: corrected import camera. Added setting camera (invert or not invert).
===================================================================
M io_scene_fbx/__init__.py
M io_scene_fbx/fbx_utils.py
M io_scene_fbx/import_fbx.py
===================================================================
diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index 6678e1eb..96a75199 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -193,12 +193,17 @@ class ImportFBX(bpy.types.Operator, ImportHelper):
),
default='X',
)
-
+
use_prepost_rot: BoolProperty(
name="Use Pre/Post Rotation",
description="Use pre/post rotation from FBX transform (you may have to disable that in some cases)",
default=True,
)
+ camera_invert: BoolProperty(
+ name="Camera Invert",
+ description="import inverted camera or not",
+ default=False,
+ )
def draw(self, context):
pass
@@ -309,6 +314,7 @@ class FBX_PT_import_transform_manual_orientation(bpy.types.Panel):
layout.prop(operator, "axis_forward")
layout.prop(operator, "axis_up")
+ layout.prop(operator, "camera_invert")
class FBX_PT_import_animation(bpy.types.Panel):
diff --git a/io_scene_fbx/fbx_utils.py b/io_scene_fbx/fbx_utils.py
index c35399b2..94356435 100644
--- a/io_scene_fbx/fbx_utils.py
+++ b/io_scene_fbx/fbx_utils.py
@@ -1259,4 +1259,5 @@ FBXImportSettings = namedtuple("FBXImportSettings", (
"nodal_material_wrap_map", "image_cache",
"ignore_leaf_bones", "force_connect_children", "automatic_bone_orientation", "bone_correction_matrix",
"use_prepost_rot",
+ "camera_invert",
))
diff --git a/io_scene_fbx/import_fbx.py b/io_scene_fbx/import_fbx.py
index 32b887c1..e6918e40 100644
--- a/io_scene_fbx/import_fbx.py
+++ b/io_scene_fbx/import_fbx.py
@@ -61,7 +61,7 @@ convert_deg_to_rad_iter = units_convertor_iter("degree", "radian")
MAT_CONVERT_BONE = fbx_utils.MAT_CONVERT_BONE.inverted()
MAT_CONVERT_LIGHT = fbx_utils.MAT_CONVERT_LIGHT.inverted()
-MAT_CONVERT_CAMERA = fbx_utils.MAT_CONVERT_CAMERA.inverted()
+MAT_CONVERT_CAMERA = fbx_utils.MAT_CONVERT_CAMERA
def validate_blend_names(name):
@@ -1769,7 +1769,10 @@ class FbxImportHelperNode:
else:
# camera and light can be hard wired
if self.fbx_type == b'Camera':
- correction_matrix = MAT_CONVERT_CAMERA
+ if settings.camera_invert:
+ correction_matrix = MAT_CONVERT_CAMERA.inverted()
+ else:
+ correction_matrix = MAT_CONVERT_CAMERA
elif self.fbx_type == b'Light':
correction_matrix = MAT_CONVERT_LIGHT
@@ -2327,7 +2330,9 @@ def load(operator, context, filepath="",
automatic_bone_orientation=False,
primary_bone_axis='Y',
secondary_bone_axis='X',
- use_prepost_rot=True):
+ use_prepost_rot=True,
+ camera_invert=False,
+ ):
global fbx_elem_nil
fbx_elem_nil = FBXElem('', (), (), ())
@@ -2467,6 +2472,7 @@ def load(operator, context, filepath="",
nodal_material_wrap_map, image_cache,
ignore_leaf_bones, force_connect_children, automatic_bone_orientation, bone_correction_matrix,
use_prepost_rot,
+ camera_invert,
)
# #### And now, the "real" data.
More information about the Bf-extensions-cvs
mailing list