diff options
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py')
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py index c13af707..c0fa11ff 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py @@ -224,6 +224,11 @@ def __gather_mesh(blender_object, export_settings): if blender_object.type != "MESH": return None + modifier_normal_types = [ + "NORMAL_EDIT", + "WEIGHTED_NORMAL" + ] + # If not using vertex group, they are irrelevant for caching --> ensure that they do not trigger a cache miss vertex_groups = blender_object.vertex_groups modifiers = blender_object.modifiers @@ -239,7 +244,7 @@ def __gather_mesh(blender_object, export_settings): edge_split = blender_object.modifiers.new('Temporary_Auto_Smooth', 'EDGE_SPLIT') edge_split.split_angle = blender_object.data.auto_smooth_angle edge_split.use_edge_angle = not blender_object.data.has_custom_normals - blender_object.data.use_auto_smooth = False + blender_object.data.use_auto_smooth = any([m in modifier_normal_types for m in [mod.type for mod in blender_object.modifiers]]) bpy.context.view_layer.update() armature_modifiers = {} |