I’ve been playing around with LPVs for dynamic global Illumination for a couple of months now, but I just can’t get it to work in a satisfying way. I know it’s still an experimental feature, but some people seem to be able to use it and achieve [awesome lighting].
The results I get are completely unusable however, regardless of what I set in my post process volume. With the default settings the lighting is very blocky (see 2&3) and it’s clearly visible where the LPV ends (see 1). When I increase the size it just bleeds through everything and illuminates way too much.
Is there anything I am missing? Or should I just give it up for now and wait for 2.8? Any help would be appreciated!
To debug and adjust LPV you would want to use the option in the viewport for Show > Visualize > Light Propagation Volume.
It will look something like this with default settings:
The “blockiness” that you refer to is normal. LPV uses block volumes to calculate and inject light into the scene.
4.8 may have some newer code from Lionhead Studios, but I’m not sure where this stands at the moment with the rendering team and if it’s been integrated yet.
Also, the scene you linked to, is not necessarily a good example since it’s using foliage vs block geometry where some of the tweaks would be more noticeable. At the moment I’d say keep on using where possible and have fun with it. Once the new code is integrated there may be a significant improvement or at least more options to tweak for better results. This should hinder from developing other parts of your project in the meantime.
I hope this helps.
Thanks Tim, it definitely helps to know that at least I’m not completely off track with my lighting setup.
I’m aware of the LPV visualization feature and it does help to understand what’s going on under the hood. But so far I didn’t have any luck using that information for actual debugging. The LPV settings listed in the documentation don’t seem to help with this particular problem.
But as you said, the feature seems to work much better in an “organic”, more detailed environment. Maybe once I replace the cubes with the final level geometry the problems will solve themselves. Otherwise I’ll just wait and hope the tech from the GDC kite demo will make it into the next update!
Light leaking has been an issue with LPV from day one. Since it’s using a volume it cannot be as accurate as some other methods that are being experimented with like Distance Field GI. While DFGI still has some ways to go, like LPV at this point. This was demonstrated some in the Kite World demo. This will still be a hidden feature that has to be enabled via the consolevariables.ini file. Using the distance field method can produce much better results with no light leaking.
To go back to LPV, typically a lot of people who have used it with good results, have done so by using multiple Post Process volumes with different setting for interior vs exterior and continually tweaking it for the best results. Unfortunately, especially in games, it’s not always easy to have a one-fits-all settings that encompasses everything. A lot of things have be worked within the systems limitations to get the best results. Hopefully this will become much easier to tweak and adjust as the next engine releases come along.
You can adjust the fade where the LPV ends with the ‘LPV Fade range’ option. About the leaking I haven’t find an optimal solution. Tweaking the values just doesn’t make it work for every case. Tweaking the ‘LPV Light injection bias’ can help but it’s not a perfect solution. I supose that this feature has been now abandoned because of UE5 and the new lighting system Lumen.