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:
Bastien Montagne 2016-05-01 17:29:17 +02:00
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
3 changed files with 4 additions and 4 deletions

View File

@ -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",

View File

@ -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

View File

@ -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...