Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Duroure <julien.duroure@gmail.com>2019-11-16 13:43:09 +0300
committerJulien Duroure <julien.duroure@gmail.com>2019-11-16 13:43:09 +0300
commit3a774beff73dddc903cbe205f67dc24a5046f08b (patch)
tree7fa43c90c475126cabfa34852aeb9a00f12a794e /io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py
parent97b11857d320cda94564d3b151f871164b64a3d8 (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-xio_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py7
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: