FBX IO: Export corner normals instead of face normals #105150

Merged
Thomas Barlow merged 3 commits from Mysteryem/blender-addons:fbx_disable_face_normals_export into main 2024-02-07 03:36:05 +01:00
Showing only changes of commit f0888c51b8 - Show all commits

View File

@ -1162,11 +1162,13 @@ def fbx_data_mesh_elements(root, me_obj, scene_data, done_meshes):
# All faces are smooth shaded, so we can get normals from the vertices.
normal_source = me.vertex_normals
normal_mapping = b"ByVertice"
case 'FACE':
# Either all faces or all edges are sharp, so we can get normals from the faces.
normal_source = me.polygon_normals
normal_mapping = b"ByPolygon"
case 'CORNER':
# External software support for b"ByPolygon" normals does not seem to be as widely available as the other
# mappings. See blender/blender#117470.
# case 'FACE':
# # Either all faces or all edges are sharp, so we can get normals from the faces.
# normal_source = me.polygon_normals
# normal_mapping = b"ByPolygon"
case 'CORNER' | 'FACE':
# We have a mix of sharp/smooth edges/faces or custom split normals, so need to get normals from
# corners.
normal_source = me.corner_normals