Godot Version
4.6
Question
I have a baked lightmap in my game, where I’m stylistically using flat geometry for one way walls. However, this is leading to a thin seam of light bleeding through the edge between a wall and the floor:
Is there a way to fix this properly?
I’ve tried raising the resolution to make it less noticeable, but I already have a pretty high lightmap resolution & don’t just want to keep increasing bake times just so an error becomes “less noticeable”. Or even the opposite case would be nice, like if the lightmap assumed the edges were in shadow instead of in light
Here’s the current settings on my LightmapGI:
And here’s a full view of the level geometry:
The walls are one sided & just draw the back face. Though I suppose I could add some thinkness to them if absolutely necessary

But I consider that to be a last resort as I’m building the meshes with my own custom mesh editor & would rather not have to make my own solidify logic
Update:
I’ve noticed that building the mesh with smooth faces (& therefore joining the vertices of each face) fixes the bleeding, but smooth edges make the lighting on the walls look extremely gross.
Perhaps I could use smooth faces & add a very thin face between the wall & floor to somewhat fix the normals
but that still feels like a hacky solution
Found a bit of a silly solution- which I’m gonna mark as the best solution unless someone gives me a better one:
Godot allows you to create an Outline Mesh for any mesh
Using this, I just created an outline of the terrain, & had it bake lighting to effectively give 2 layers to the walls.
Fixed the seams, and I can just delete the outline when I’m done with it:
I’ll have to find some way to get the editor to automate this for me as I’d rather have a simpler build process - but this is an easy fix that doesn’t require any rework of the baked lighting system, so I consider it “good enough” 
2 Likes