[Bf-extensions-cvs] [9524a08a] master: Fix (unreported) broken FBX import due to API change.
Bastien Montagne
noreply at git.blender.org
Sat May 11 16:37:55 CEST 2019
Commit: 9524a08a60cf570e9b0540a6ae195a269b403817
Author: Bastien Montagne
Date: Sat May 11 16:37:02 2019 +0200
Branches: master
https://developer.blender.org/rBA9524a08a60cf570e9b0540a6ae195a269b403817
Fix (unreported) broken FBX import due to API change.
Sequell to rB55d0ff708c617f, grrrrr....
===================================================================
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 693cfe7d..dfe55f17 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, 7),
+ "version": (4, 14, 8),
"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 26e31363..92f9bef4 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):
+ def build_node_obj(self, fbx_tmpl, settings, view_layer):
if self.bl_obj:
return self.bl_obj
@@ -1948,13 +1948,19 @@ 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):
@@ -1966,7 +1972,7 @@ class FbxImportHelperNode:
return None
else:
# child is not a bone
- obj = self.build_node_obj(fbx_tmpl, settings)
+ obj = self.build_node_obj(fbx_tmpl, settings, view_layer)
if obj is None:
return None
@@ -1976,10 +1982,6 @@ 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):
@@ -2112,8 +2114,8 @@ class FbxImportHelperNode:
# Switch to Edit mode.
view_layer.objects.active = arm
- is_hidden = arm.hide_viewport
- arm.hide_viewport = False # Can't switch to Edit mode hidden objects...
+ is_hidden = arm.hide_get()
+ arm.hide_set(False) # Can't switch to Edit mode hidden objects...
bpy.ops.object.mode_set(mode='EDIT')
for child in self.children:
@@ -2124,7 +2126,7 @@ class FbxImportHelperNode:
bpy.ops.object.mode_set(mode='OBJECT')
- arm.hide_viewport = is_hidden
+ arm.hide_set(is_hidden)
# Set pose matrix
for child in self.children:
@@ -2141,16 +2143,12 @@ class FbxImportHelperNode:
return arm
elif self.fbx_elem and not self.is_bone:
- obj = self.build_node_obj(fbx_tmpl, settings)
+ obj = self.build_node_obj(fbx_tmpl, settings, view_layer)
# 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