From c157125ace858760138d2c3b99c0f45b45743e98 Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Sun, 3 Apr 2022 10:22:48 +0200 Subject: glTF exporter: weight min threshold for skinning --- io_scene_gltf2/__init__.py | 2 +- io_scene_gltf2/blender/exp/gltf2_blender_extract.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 9d9d13b0..816fc23d 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -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', diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py index 98e2ac19..cbb98cc0 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py @@ -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] -- cgit v1.2.3