Hi,
glad to hear it. In my experience, and for me, lightmapping in unity has been very painful that I simply gave up on it. I fix one issue, another comes up, it feels endless.
I want to talk about the probe volume though, APV is great, but I feel it’s potential has been left and forgotten.
In its current state it reminds me of lightmapping, countless issues that never end. Hacky solutions (like it’s anti light leaking) that cause issues while fixing others. Same thing with dilation, it can sometimes cause light leaks, but you need it for other areas to fix things up.
I’ve used APV so much that I memorized every parameter it has and it’s debugger. Using too much view bias can leads to issues, but sometimes you have no choice. Same thing with normal bias.
Most of all it struggles with interiors, dark areas, dim lit rooms, thin objects, weirdly shaped objects, the list goes on.
Unity’s demo had a lot of windows, open areas for outside lighting to come in and it was very bright. This masked all the issues with APV.
Take this for example,
This is lit entirely with APV, everything receives and contributes probe lighting. It looks great, but this is because there is so much lighting that all issues are masked by the amount of indirect lighting going around.
In a real scene, with rooms, interiors, or just dark exterior areas, this is what you can expect from APV:
(This used a very extreme amount of probes & samples)
Note this picture is using view-bias to the extreme, otherwise the light leaking is much worse. But since view bias is camera based, while moving lights will move, leaking will come and go, it’s not something you can really use to extreme amounts other than still images.
Then there’s the sample issues, APV struggles more the darker an area is, this one isn’t even that dark. There’s still a ton of indirect light coming from the doors. (And a lot of light leaking on the walls but the camera angle hides it).
The more probes you have, the more samples you need. In my testing even with a crazy probe density, and tons of samples (so much it took over 500mb of disk space for a tiny room), the issues were still there. Light leaking In particular.
Another example:
This isn’t a closed off interior, it’s just a building out in the open, but as you can see there’s a lot of light leaking.
APV struggles with thin walls/roofs and in general anything thin, you can see it’s also leaking from the terrain on the ground which is set to APV lighting.
Let’s use some probe touchup volumes to give the walls artificial thickness:
Much better, but still light leaking in the roof at the right, and on the wall in front. And just for this small areas I needed to use multiple touchup volumes. Much of the light leaking is reduced by SSAO or hidden by gizmos, to see it better check this image: Image with gizmos off and no SSAO
Test done in latest 2023.1.beta:
probe density 1, 30k env samples, 2k indirect samples. I also tested with 0.3 probe density.
You can see in the following picture, the wall is using probes inside geometry to light itself, causing strong light leaking. I’m using both dilation & virtual offset, but virtual offset fails to detect some probes. It also often pushes probes inside of geometry, and not out.
(The highlighted probes are the ones being used by the pixel I selected)
You can see in the next picture virtual offset doesn’t detect the probes inside the wall here at all, and leaves them be:
The worst part is all this leaking isn’t just for static objects, it’s for everything - dynamic or static - contribute gi on or off, if your character walks next to this wall, it will receive light leaking.
For example, the exact same scene as the above, check this cube that only receives probe lighting, doesn’t contribute:
Half of the cube is lit unrealistically, light leaking, and this is with touchup volumes.
there’s also the sampling noise, which is very noticeable without TAA. The cubes look more noticeable as they have no textures, which isn’t a realistic use case.
Sometimes even with TAA enabled, and animated sampling noise enabled, you can still notice it.
I’m jaded with GI in unity, I was hoping APV would be my way out of using unity’s lightmapper for regular baking, but I just moved to a different tool with the same unending issues.
I even tested it for just dynamic chars, and the light leaking was still very noticeable - so it’s not just an issue for people trying to use APV as a full static lighting replacement.
I have much more to say, but for my sanity, and your sanity, I will stop here. I doubt anyone will read this post in its entirety anyways, nor will it change anything, maybe I’m writing this to myself more than others. A wake-up call of some sorts, who knows