glTF exporter: add check when armature animation is linked to object != armature

This commit is contained in:
Julien Duroure 2019-09-05 07:27:35 +02:00
parent 1881beb8b1
commit ffcecad3a8
2 changed files with 9 additions and 4 deletions

View File

@ -15,7 +15,7 @@
bl_info = {
'name': 'glTF 2.0 format',
'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
"version": (0, 9, 57),
"version": (0, 9, 58),
'blender': (2, 81, 6),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',

View File

@ -196,10 +196,15 @@ def __get_channel_groups(blender_action: bpy.types.Action, blender_object: bpy.t
# if the object is a mesh and the action target path can not be resolved, we know that this is a morph
# animation.
if blender_object.type == "MESH":
shape_key = blender_object.data.shape_keys.path_resolve(object_path)
if shape_key.mute is True:
try:
shape_key = blender_object.data.shape_keys.path_resolve(object_path)
if shape_key.mute is True:
continue
target = blender_object.data.shape_keys
except:
# Something is wrong, for example a bone animation is linked to an object mesh...
gltf2_io_debug.print_console("WARNING", "Animation target {} not found".format(object_path))
continue
target = blender_object.data.shape_keys
else:
gltf2_io_debug.print_console("WARNING", "Animation target {} not found".format(object_path))
continue