[Bf-extensions-cvs] [0d4c095e] master: Revert "Fix (unreported) broken FBX import due to API change."

Bastien Montagne noreply at git.blender.org
Sat May 11 17:12:05 CEST 2019


Commit: 0d4c095e9a163987d664a36baa90937e4b93847a
Author: Bastien Montagne
Date:   Sat May 11 17:11:15 2019 +0200
Branches: master
https://developer.blender.org/rBA0d4c095e9a163987d664a36baa90937e4b93847a

Revert "Fix (unreported) broken FBX import due to API change."

This reverts commit 9524a08a60cf570e9b0540a6ae195a269b403817.

===================================================================

M	io_scene_fbx/__init__.py
M	io_scene_fbx/import_fbx.py

===================================================================

diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index dfe55f17..693cfe7d 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "FBX format",
     "author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
-    "version": (4, 14, 8),
+    "version": (4, 14, 7),
     "blender": (2, 80, 0),
     "location": "File > Import-Export",
     "description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions",
diff --git a/io_scene_fbx/import_fbx.py b/io_scene_fbx/import_fbx.py
index 92f9bef4..26e31363 100644
--- a/io_scene_fbx/import_fbx.py
+++ b/io_scene_fbx/import_fbx.py
@@ -1928,7 +1928,7 @@ class FbxImportHelperNode:
         child_connect_finalize(bone, connect_ctx)
         return bone
 
-    def build_node_obj(self, fbx_tmpl, settings, view_layer):
+    def build_node_obj(self, fbx_tmpl, settings):
         if self.bl_obj:
             return self.bl_obj
 
@@ -1948,19 +1948,13 @@ class FbxImportHelperNode:
         # Misc Attributes
 
         obj.color[0:3] = elem_props_get_color_rgb(fbx_props, b'Color', (0.8, 0.8, 0.8))
+        obj.hide_viewport = not bool(elem_props_get_visibility(fbx_props, b'Visibility', 1.0))
 
         obj.matrix_basis = self.get_matrix()
 
         if settings.use_custom_props:
             blen_read_custom_properties(self.fbx_elem, obj, settings)
 
-        # Instance in scene.
-        view_layer.active_layer_collection.collection.objects.link(obj)
-
-        # This has to be done after instancing in scene.
-        obj.hide_set(not bool(elem_props_get_visibility(fbx_props, b'Visibility', 1.0)))
-        obj.select_set(True)
-
         return obj
 
     def build_skeleton_children(self, fbx_tmpl, settings, scene, view_layer):
@@ -1972,7 +1966,7 @@ class FbxImportHelperNode:
             return None
         else:
             # child is not a bone
-            obj = self.build_node_obj(fbx_tmpl, settings, view_layer)
+            obj = self.build_node_obj(fbx_tmpl, settings)
 
             if obj is None:
                 return None
@@ -1982,6 +1976,10 @@ class FbxImportHelperNode:
                     continue
                 child.build_skeleton_children(fbx_tmpl, settings, scene, view_layer)
 
+            # instance in scene
+            view_layer.active_layer_collection.collection.objects.link(obj)
+            obj.select_set(True)
+
             return obj
 
     def link_skeleton_children(self, fbx_tmpl, settings, scene):
@@ -2114,8 +2112,8 @@ class FbxImportHelperNode:
 
             # Switch to Edit mode.
             view_layer.objects.active = arm
-            is_hidden = arm.hide_get()
-            arm.hide_set(False)  # Can't switch to Edit mode hidden objects...
+            is_hidden = arm.hide_viewport
+            arm.hide_viewport = False  # Can't switch to Edit mode hidden objects...
             bpy.ops.object.mode_set(mode='EDIT')
 
             for child in self.children:
@@ -2126,7 +2124,7 @@ class FbxImportHelperNode:
 
             bpy.ops.object.mode_set(mode='OBJECT')
 
-            arm.hide_set(is_hidden)
+            arm.hide_viewport = is_hidden
 
             # Set pose matrix
             for child in self.children:
@@ -2143,12 +2141,16 @@ class FbxImportHelperNode:
 
             return arm
         elif self.fbx_elem and not self.is_bone:
-            obj = self.build_node_obj(fbx_tmpl, settings, view_layer)
+            obj = self.build_node_obj(fbx_tmpl, settings)
 
             # walk through children
             for child in self.children:
                 child.build_hierarchy(fbx_tmpl, settings, scene, view_layer)
 
+            # instance in scene
+            view_layer.active_layer_collection.collection.objects.link(obj)
+            obj.select_set(True)
+
             return obj
         else:
             for child in self.children:



More information about the Bf-extensions-cvs mailing list