Fix T48322: Proxy Armature Animations are not exported to FBX.
This is the 'proxy case', only fixable one for now (linked object have un-editable animdata.action, so we cannot export animations for them for now). Issue was simply that armature modifier of linked mesh object still 'points' to linked armature object, and not to its local proxy. Fix is luckily easy (for once)!
This commit is contained in:
parent
1b1aaf3e25
commit
184e74fbe7
Notes:
blender-bot
2023-02-14 19:47:39 +01:00
Referenced by issue #48322, Proxy Armature Animations are not exported to FBX
|
@ -21,7 +21,7 @@
|
|||
bl_info = {
|
||||
"name": "FBX format",
|
||||
"author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
|
||||
"version": (3, 7, 3),
|
||||
"version": (3, 7, 4),
|
||||
"blender": (2, 77, 0),
|
||||
"location": "File > Import-Export",
|
||||
"description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions",
|
||||
|
|
|
@ -1794,10 +1794,10 @@ def fbx_skeleton_from_armature(scene, settings, arm_obj, objects, data_meshes,
|
|||
# Always handled by an Armature modifier...
|
||||
found = False
|
||||
for mod in ob_obj.bdata.modifiers:
|
||||
if mod.type not in {'ARMATURE'}:
|
||||
if mod.type not in {'ARMATURE'} or not mod.object:
|
||||
continue
|
||||
# We only support vertex groups binding method, not bone envelopes one!
|
||||
if mod.object == arm_obj.bdata and mod.use_vertex_groups:
|
||||
if mod.object in {arm_obj.bdata, arm_obj.bdata.proxy} and mod.use_vertex_groups:
|
||||
found = True
|
||||
break
|
||||
|
||||
|
|
|
@ -1158,7 +1158,7 @@ class ObjectWrapper(metaclass=MetaObjectWrapper):
|
|||
if self.parent == arm_obj and self.bdata.parent_type == 'ARMATURE':
|
||||
return True
|
||||
for mod in self.bdata.modifiers:
|
||||
if mod.type == 'ARMATURE' and mod.object == arm_obj.bdata:
|
||||
if mod.type == 'ARMATURE' and mod.object in {arm_obj.bdata, arm_obj.bdata.proxy}:
|
||||
return True
|
||||
|
||||
# #### Duplis...
|
||||
|
|
Loading…
Reference in New Issue