From 6c0d4bdeadf9b19b9f2a1ecff51d9261370912c0 Mon Sep 17 00:00:00 2001 From: QuantumCoderQC Date: Thu, 28 Oct 2021 17:18:02 +0200 Subject: [PATCH] fix error when all shape keys muted --- blender/arm/exporter.py | 13 +++++++++++-- blender/arm/utils.py | 9 +++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/blender/arm/exporter.py b/blender/arm/exporter.py index 3e959906..76beceec 100755 --- a/blender/arm/exporter.py +++ b/blender/arm/exporter.py @@ -203,8 +203,13 @@ class ArmoryExporter: return None shape_keys = mesh.shape_keys - if shape_keys and len(shape_keys.key_blocks) > 1: - return shape_keys + if not shape_keys: + return None + if len(shape_keys.key_blocks) < 2: + return None + for shape_key in shape_keys.key_blocks[1:]: + if(not shape_key.mute): + return shape_keys return None @staticmethod @@ -1156,6 +1161,10 @@ class ArmoryExporter: count += 1 + # No shape keys present or all shape keys are muted + if (count < 1): + return + # Convert to array for easy manipulation pos_array = np.array(vert_pos) nor_array = np.array(vert_nor) diff --git a/blender/arm/utils.py b/blender/arm/utils.py index cba60d8c..eb184860 100755 --- a/blender/arm/utils.py +++ b/blender/arm/utils.py @@ -775,8 +775,13 @@ def export_morph_targets(bobject: bpy.types.Object) -> bool: return False shape_keys = bobject.data.shape_keys - if shape_keys and len(shape_keys.key_blocks) > 1: - return True + if not shape_keys: + return False + if len(shape_keys.key_blocks) < 2: + return False + for shape_key in shape_keys.key_blocks[1:]: + if(not shape_key.mute): + return True return False def export_vcols(bobject: bpy.types.Object) -> bool: