From 8a41d7a47a0f051aea102ad08d1f7d8697c73977 Mon Sep 17 00:00:00 2001 From: Pyogenics Date: Sun, 6 Apr 2025 19:47:12 +0100 Subject: [PATCH] Import normal vertex buffers to correct inaccurate lighting in blender due to bad geometry --- io_scene_a3d/A3DBlenderImporter.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/io_scene_a3d/A3DBlenderImporter.py b/io_scene_a3d/A3DBlenderImporter.py index 68e23c7..c0be3c2 100644 --- a/io_scene_a3d/A3DBlenderImporter.py +++ b/io_scene_a3d/A3DBlenderImporter.py @@ -157,8 +157,16 @@ class A3DBlenderImporter: me.polygons[faceI+faceIndexBase].material_index = submeshI faceIndexBase += submesh.indexCount//3 - # Finalise + #XXX: call this before we assign split normals, if you do not it causes a segmentation fault me.validate() + + # Split normals + if len(normal1) != 0: + me.normals_split_custom_set_from_vertices(normal1) + elif len(normal2) != 0: + me.normals_split_custom_set_from_vertices(normal2) + + # Finalise me.update() return me