Unity baked GI bleeding/artefact with modular scene

Hello everyone,

I’ve been running in this issue, trying to find a fix myself and spending a lot of time on different forum posts without finding any solution. I have these weird bleeding/artefact effects around the edges of my modular pieces when using baked global illumination. Each modular piece (wall, ceiling, floor) is a 2x2 m plane but also some thick boxes (issue visible on both).

Here’s the set up I did for baked GI:
-Generate lightmap UVs for all models
-Changed all point lights to baked mode

And here’s all the potential fixes I’ve tried:
-Increased indirect samples from 256 to 1024
-Increased direct samples from 32 to 128
-Increased lightmap padding from 2 to 20
-Increased objects pack margin from 16 to 64
-Increased lightmap resolution from 40 to 60
-Changed lightmap parameters from default-low to default-high

Here’s some screenshot of a wall with multiple modular pieces displaying the issue, my lightmap settings, my object import settings and an image of one of the baked lightmaps (in order).

Thanks for the help in advance.




No easy way to solve this. For pointers, see this old post of mine: https://discussions.unity.com/t/771386/2

Thanks for your reply, something interesting happens, the errors seem to have disappear, obviously it's super noisy now, but maybe the issue was the filtering ?

8169440--1063157--upload_2022-5-31_13-40-13.png

Hello everyone, I have found a relatively easy "fix" ( I don't really want to call it a fix, it's more a workaround but it's so easy that I might as well us that term)

As you may have read in many other forum posts, the main cause of the problem is modular pieces. Let's take as an example two adjacent planes, when baking lights, I believe two separate calculations are being made for both of these surfaces, the issue arises here as direct and indirect bounces are computed on each surfaces individually, which results in inconsistencies ( easy to see as you rarely have artefacts on the surface but rather around edges ).

Therefore, the logical solution would be to merge these two surfaces in your modelling software of choice and reimport it as such, but who wants to go through the trouble of going back and forth multiple times, especially when building modular environments that go through many changes !

Well here's where Unity's ProBuilder comes in, there are two specific tools that will help us resolve this issue, " Merge objects " and " Weld vertices " (simply merging objects isn't enough, if you got two or more merged objects but their overlaid vertices/edges are not welded, their info will be stored as individual elements, part of the same object).

So, select the objects in your scene you wish to combine into a single piece, " Probuildarize " them, click on " Merge objects " and then select all overlaid vertices and click on " Weld vertices " (all steps shown in the screenshots below).

And there you go, you can start a new bake and everything should look good. Now, let's say you're not happy with your scene and actually want to change it's layout ? Easy, delete the old merged elements, rework your scene, apply the modifications you want and then simply repeat the process. All of this while never exiting Unity !

probuilder : https://unity.com/features/probuilder

8171183--1063409--1.PNG.jpg
8171183--1063412--2.PNG.jpg
8171183--1063418--3.PNG.jpg
8171183--1063421--4.PNG.jpg
8171183--1063430--5.PNG.jpg

4 Likes

“No easy way to solve this”?.. can you please elaborate more? does it mean that unity doesn’t support the use of modular assets in a baked environment? since there’s no easy way to light bake them without artifacts?

We don’t provide any built-in system for dealing with seams occurring between separate lightmapped renderers, and I don’t believe anything is planned there either. It’s a tricky problem and something most lightmappers struggle with. The workarounds Kristijonas listed in the linked post are the closest you’ll get to a solution currently. If you want to make a feature request you can always do so via this link https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/c/561-didn-t-find-what-you-were-looking-for