Strange checkerboard effect between distinct but continous surfaces with baked indirect lighting

In the following scene baked with CPU Lightmass (in the screenshot, showing only GI lighting), there is several meshes sharing the exact same material forming a continous floor.

Why there is such “checkerboard” effect ? It seems lightmass “simplified” the GI lighting per mesh.

I know that I should use a single mesh for the floor, but I am wondering what could cause this effect, and if this is normal/expected between continuous surfaces.

kinda expected result. those are lightmap tiles generated for each individual mesh. this looks pretty scuffed tho. certainly not correct. maybe the lightmap scale is too low? or some parameters are off. for this kinda bakery stuff you should really use contiuous surfaces.

Yes, for sure. I’ll move on to continuous surfaces. But such difference is really surprising to me, I suspect something is wrong somewhere, but I can’t find what.

The lightmap density is okay I think

Note that on the original screenshot, this is only GI that have been baked and not Direct lighting, as I am using stationary rect lights.

I noticed the effect is far less visible using GPU lightmass (but not entirely).

i see the same in my 5.7 bake test level. i get edges on all seperated static meshes. cpu and gpu lightmass. it is what it is. lightmaps are slowly phased out in favor of realtime gi. you have to work with “old school” modelling, doing complete room or continuous meshes to bake static gi. it looks pretty good tho when you get it done. : )

CPU lightmass processes every mesh on a different thread, that’s what creates these discontinuities. It’s expected.

A very long time ago, there was some discussion about implementing lightmass groups for meshes so that they would all bake as one, but this was never implemented. Probably because it makes more sense to offload it to the GPU… but Epic didn’t really do that either.

Daniel Wright mentioned that Epic’s solution internally (which they were not happy with) was to increase the lightmass quality, effectively a brute force approach. This is done by lowering the level lighting scale and increasing the indirect lighting quality/lighting smoothness. Ideally you set these only as far as you need to go, to avoid unnecessarily long build times.

You can read more about it in this ancient manuscript: Baked Lighting Variation Between Static Meshes

Also you pretty much need to be baking on production quality. Anything lower isn’t expected to produce shippable quality.