From 65a454528ab02c23a821e6afadb277262c65e8a9 Mon Sep 17 00:00:00 2001 From: FourthVolt <87427011+EM4Volts@users.noreply.github.com> Date: Fri, 6 Jan 2023 12:53:01 +0100 Subject: [PATCH 1/3] add check if bone exists for vertex group --- wmb/exporter/boneSet/boneSet.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/wmb/exporter/boneSet/boneSet.py b/wmb/exporter/boneSet/boneSet.py index c851843..dd538bd 100644 --- a/wmb/exporter/boneSet/boneSet.py +++ b/wmb/exporter/boneSet/boneSet.py @@ -53,8 +53,9 @@ def __init__(self): for group in obj.vertex_groups: boneID = getBoneIndexByName("WMB", group.name) if boneID not in boneMap: - #print("Adding ID to boneMap: " + str(boneID)) - boneMap.append(boneID) + print("Adding ID to boneMap: " + str(boneID)) + if boneID: + boneMap.append(boneID) # Set boneMap to armature boneMap = sorted(boneMap) @@ -71,12 +72,14 @@ def __init__(self): if obj['boneSetIndex'] != -1: for group in obj.vertex_groups: boneID = getBoneIndexByName("WMB", group.name) - boneMapIndex = boneMap.index(boneID) - vertex_group_bones.append(boneMapIndex) + if boneID: + boneMapIndex = boneMap.index(boneID) + vertex_group_bones.append(boneMapIndex) + if vertex_group_bones not in b_boneSets: b_boneSets.append(vertex_group_bones) obj["boneSetIndex"] = len(b_boneSets)-1 else: obj["boneSetIndex"] = b_boneSets.index(vertex_group_bones) - amt.data['boneSetArray'] = b_boneSets \ No newline at end of file + amt.data['boneSetArray'] = b_boneSets From 605bb12e75914081e8e28cd8fe7c6db7086d0cac Mon Sep 17 00:00:00 2001 From: FourthVolt <87427011+EM4Volts@users.noreply.github.com> Date: Fri, 6 Jan 2023 12:53:33 +0100 Subject: [PATCH 2/3] add check if bone exists for vertex group --- wmb/exporter/meshes/mesh.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wmb/exporter/meshes/mesh.py b/wmb/exporter/meshes/mesh.py index 6258b02..9cc803f 100644 --- a/wmb/exporter/meshes/mesh.py +++ b/wmb/exporter/meshes/mesh.py @@ -63,8 +63,9 @@ def get_bones(self, obj): for vertexGroup in mesh.vertex_groups: boneName = getBoneIndexByName("WMB", vertexGroup.name) if boneName not in bones: - bones.append(boneName) - numBones += 1 + if boneName: + bones.append(boneName) + numBones += 1 if len(bones) == 0: bones.append(0) From cce8646ea9230112ea36d16b944ca7f228dbd4b8 Mon Sep 17 00:00:00 2001 From: FourthVolt <87427011+EM4Volts@users.noreply.github.com> Date: Sat, 7 Jan 2023 12:17:27 +0100 Subject: [PATCH 3/3] Check wether an index group actually has existing bones --- wmb/exporter/boneSet/boneSet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wmb/exporter/boneSet/boneSet.py b/wmb/exporter/boneSet/boneSet.py index dd538bd..38fd571 100644 --- a/wmb/exporter/boneSet/boneSet.py +++ b/wmb/exporter/boneSet/boneSet.py @@ -53,7 +53,7 @@ def __init__(self): for group in obj.vertex_groups: boneID = getBoneIndexByName("WMB", group.name) if boneID not in boneMap: - print("Adding ID to boneMap: " + str(boneID)) + #print("Adding ID to boneMap: " + str(boneID)) if boneID: boneMap.append(boneID)