diff options
Diffstat (limited to 'tools/export/blender25/io_scene_dae')
-rw-r--r-- | tools/export/blender25/io_scene_dae/export_dae.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/export/blender25/io_scene_dae/export_dae.py b/tools/export/blender25/io_scene_dae/export_dae.py index 2612e7e248..f8e64452db 100644 --- a/tools/export/blender25/io_scene_dae/export_dae.py +++ b/tools/export/blender25/io_scene_dae/export_dae.py @@ -863,6 +863,20 @@ class DaeExporter: if (node.parent.type=="ARMATURE"): armature=node.parent + if (node.data.shape_keys!=None): + sk = node.data.shape_keys + if (sk.animation_data): + print("HAS ANIM") + print("DRIVERS: "+str(len(sk.animation_data.drivers))) + for d in sk.animation_data.drivers: + if (d.driver): + for v in d.driver.variables: + for t in v.targets: + if (t.id!=None and t.id.name in self.scene.objects): + print("LINKING "+str(node)+" WITH "+str(t.id.name)) + self.armature_for_morph[node]=self.scene.objects[t.id.name] + + meshdata = self.export_mesh(node,armature) close_controller=False @@ -1339,6 +1353,7 @@ class DaeExporter: if (node.type=="MESH" and node.data!=None and (node in self.armature_for_morph) and (self.armature_for_morph[node] in allowed)): pass #all good you pass with flying colors for morphs inside of action else: + #print("fail "+str((node in self.armature_for_morph))) continue if (node.type=="MESH" and node.data!=None and node.data.shape_keys!=None and (node.data in self.mesh_cache) and len(node.data.shape_keys.key_blocks)): target = self.mesh_cache[node.data]["morph_id"] @@ -1453,7 +1468,7 @@ class DaeExporter: allowed_skeletons.append(y) y.animation_data.action=x; - + print("allowed skeletons "+str(allowed_skeletons)) print(str(x)) @@ -1563,6 +1578,7 @@ class DaeExporter: + def save(operator, context, filepath="", use_selection=False, |