Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Duroure <julien.duroure@gmail.com>2021-08-23 20:08:27 +0300
committerJulien Duroure <julien.duroure@gmail.com>2021-08-23 20:08:27 +0300
commit902b8ba11efa98006b3a247e4549ca69fb458309 (patch)
tree0b9428c9e443bf3ff9dbdd4eb9247fa548a1719b
parent060d0e76fbb2319e12e8fdf8435debe5267bfc7d (diff)
glTF exporter: fix crash when trying to export some muted driver(s)
-rwxr-xr-xio_scene_gltf2/__init__.py2
-rw-r--r--io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py6
2 files changed, 6 insertions, 2 deletions
diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index ab7aebb4..8787fe2e 100755
--- a/io_scene_gltf2/__init__.py
+++ b/io_scene_gltf2/__init__.py
@@ -15,7 +15,7 @@
bl_info = {
'name': 'glTF 2.0 format',
'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
- "version": (1, 7, 19),
+ "version": (1, 7, 20),
'blender': (2, 91, 0),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py
index 4dcad66f..561f246c 100644
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py
@@ -56,6 +56,9 @@ def get_sk_drivers(blender_armature):
sk_name = child.data.shape_keys.path_resolve(get_target_object_path(sk_c.data_path)).name
except:
continue
+ # Do not take into account this driver if corresponding SK is disabled
+ if child.data.shape_keys.key_blocks[sk_name].mute is True:
+ continue
idx = shapekeys_idx[sk_name]
idx_channel_mapping.append((shapekeys_idx[sk_name], sk_c))
existing_idx = dict(idx_channel_mapping)
@@ -65,7 +68,8 @@ def get_sk_drivers(blender_armature):
else:
all_sorted_channels.append(existing_idx[i])
- drivers.append((child, tuple(all_sorted_channels)))
+ if len(all_sorted_channels) > 0:
+ drivers.append((child, tuple(all_sorted_channels)))
return tuple(drivers)