[Bf-extensions-cvs] [6eb9c11f] master: Fix T70244: FBX bug import when having children rigs of parent one.

Bastien Montagne noreply at git.blender.org
Wed Sep 25 17:48:25 CEST 2019


Commit: 6eb9c11fe04454601065d6e93029622b88eb69c8
Author: Bastien Montagne
Date:   Wed Sep 25 17:45:11 2019 +0200
Branches: master
https://developer.blender.org/rBA6eb9c11fe04454601065d6e93029622b88eb69c8

Fix T70244: FBX bug import when having children rigs of parent one.

Note that such complex rig features remains barely supported anyway,
such complex setup will require some manual editing after import...

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

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 b737cef0..2782353f 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, 17, 0),
+    "version": (4, 17, 1),
     "blender": (2, 81, 6),
     "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 5556f968..27e46076 100644
--- a/io_scene_fbx/import_fbx.py
+++ b/io_scene_fbx/import_fbx.py
@@ -1898,7 +1898,11 @@ class FbxImportHelperNode:
 
             meshes = set()
             for child in self.children:
-                child.collect_skeleton_meshes(meshes)
+                # Children meshes may be linked to children armatures, in which case we do not want to link them
+                # to a parent one. See T70244.
+                child.collect_armature_meshes()
+                if not child.meshes:
+                    child.collect_skeleton_meshes(meshes)
             for m in meshes:
                 old_matrix = m.matrix
                 m.matrix = armature_matrix_inv @ m.get_world_matrix()



More information about the Bf-extensions-cvs mailing list