glTF exporter: weight min threshold for skinning

This commit is contained in:
Julien Duroure 2022-04-03 10:22:48 +02:00
parent dfe74f0a1b
commit c157125ace
2 changed files with 3 additions and 2 deletions

View File

@ -4,7 +4,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": (3, 2, 24),
"version": (3, 2, 25),
'blender': (3, 1, 0),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',

View File

@ -544,6 +544,7 @@ def __get_colors(blender_mesh, color_i):
def __get_bone_data(blender_mesh, skin, blender_vertex_groups):
need_neutral_bone = False
min_influence = 0.0001
joint_name_to_index = {joint.name: index for index, joint in enumerate(skin.joints)}
group_to_joint = [joint_name_to_index.get(g.name) for g in blender_vertex_groups]
@ -557,7 +558,7 @@ def __get_bone_data(blender_mesh, skin, blender_vertex_groups):
if vertex.groups:
for group_element in vertex.groups:
weight = group_element.weight
if weight <= 0.0:
if weight <= min_influence:
continue
try:
joint = group_to_joint[group_element.group]