diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2019-11-16 13:43:09 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2019-11-16 13:43:09 +0300 |
commit | 3a774beff73dddc903cbe205f67dc24a5046f08b (patch) | |
tree | 7fa43c90c475126cabfa34852aeb9a00f12a794e /io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py | |
parent | 97b11857d320cda94564d3b151f871164b64a3d8 (diff) |
glTF exporter: Fix T71313 Bad normal export this normal modifiers
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, 4 insertions, 3 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 6ab77945..43a6e5d1 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py @@ -248,11 +248,12 @@ def __gather_mesh(blender_object, export_settings): if export_settings[gltf2_blender_export_keys.APPLY]: auto_smooth = blender_object.data.use_auto_smooth edge_split = None - if auto_smooth: + some_normals_modifier = any([m in modifier_normal_types for m in [mod.type for mod in blender_object.modifiers]]) + if auto_smooth and not some_normals_modifier: 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 = any([m in modifier_normal_types for m in [mod.type for mod in blender_object.modifiers]]) + blender_object.data.use_auto_smooth = some_normals_modifier bpy.context.view_layer.update() armature_modifiers = {} @@ -275,7 +276,7 @@ def __gather_mesh(blender_object, export_settings): for idx, show_viewport in armature_modifiers.items(): blender_object.modifiers[idx].show_viewport = show_viewport - if auto_smooth: + if auto_smooth and not some_normals_modifier: blender_object.data.use_auto_smooth = True blender_object.modifiers.remove(edge_split) else: |