Unreal Realtime GI Solution for Interactive Outdoor/Indoor Environment


I would have a question related to the current solution for Unreal’s realtime GI. I come with experience from using Unity/Cryengine and their realtime GI’s are based on Enlighten and VXGI. They all have their pros/cons.

VXGI is cool but it’s quite intensive. That’s why Crysis3 is still used as a benchmark :). Therefore it’s not a solution for me. Enlighten, except the fairly long precompute time (which can be optimized and are acceptable if you know how to handle it), provides the best results and at the best performance. My current project, an open-world indoor/outdoor/underground, goes quite well using Unity/Enlighten. The problem is that Enlighten is very expensive for Unreal, unlike Unity that comes with it by default. My question is, how could I do the same in Unreal? Or is it possible at the moment? Or am I forced to buy Enlighten?

I’ve read that there’s have some internal solution, LPV’s, but from what I’ve read on their docs it’s not production ready and I am not sure that it is supported any more, am I correct?

I am asking this since for the next game, I thought on trying Unreal instead of Unity, but being open world with indoors/outdoors/underground, no loading screen and dynamic time of day I was not 100% sure that Unreal’s realtime GI solutions are quite yet prepared for something like that. And while Unity’s a nice littl’ engine it has it’s problems like the lack of a decent terrain/foliage system, along with the shader node editor, making shader editing quite difficult, and other things that add up. And since I’m not interested in mobile games, Unreal seems a better solution for me. But with Unreal there’s the lack of realtime GI that stopped me from using it at the moment.

My requirements/specs are:

  • 10x10 km terrain both indoor, outdoor and underground, all seamless, no visible loading screens
  • DirectX 11 only is ok
  • Minimum video card: GTX 750 Ti Golden Sample
  • Recommended video card: GTX 970

Thanks for all the help and looking forward for your replies!

I don’t belive Enlighten could handle 10km X 10km scene. Memory requirements would be really intensive.

So, you have a few options:

  • LPVs are just fine. They’ve got limited range, but their overhead isn’t substantial and they add a lot to the scene. What you do not want to use is distance field GI with mesh VPL GI. That **** is a trainwreck right now.
  • You can use heightfield GI to get nice approximately bounce lighting off of the terrain dataset but it definitely has a fairly substantial problem in that, while dynamic, the heightfield GI data itself is precomputed based on the terrain material. You may be able to adjust the console variables that dictate the behavior of the heightfield GI, but I didn’t find it particularly intuitive. I actually just disabled this recently in my local build of our game and, while day scenes are lacking a bit, I got 10ms back off the render thread and Time of Day is respected substantially better.

And, you’re right, VXGI is not at all production ready.

Is LPV still usable in 4.15 ?

I don’t see why it wouldn’t be. It’s just dandy in 4.14.

Oh, cool. I saw a rumor somewhere it was removed from UE4.

Are you sure? I know some AAA studios that made games larger than 10x10km’s with Enlighten and it’s quite usable. Again, I might be misinformed perhaps?

Any official status of the LPV’s? I heard that ‘removing’ rumor too.

So, you saying is that I should experiment with ‘LPV’s’ along with ‘Distance Field GI’ without mesh VPL GI enabled. I’ll also play with disabling the heightfield GI too.

Thanks for the very usefull tip, I’ll see what we can squeeze out of this guy :).

And for VXGI, I don’t think that it’s not production ready, I think that it’s so intensive that it really is unusable for the next 3-4 generations of video cards :slight_smile: