Hey all, I see questions about this regularly so decided to get all of the info in one spot, since there’s no documentation yet.
The quick summary is that Distance Field GI is a prototype feature, it has a bunch of problems, and I recommend that you do not use it but wait for a better version. It is not expected to work with arbitrary content. This is why it’s not being announced anywhere - but observant people picked it up from github changes Heightfield GI as used in the Kite demo is in a better state, but still not exposed in the UI and in a prototype stage.
However if you must continue…
Setting up Distance Field GI (bounce lighting from static meshes)
- put r.DistanceFieldGI=1 in the [Startup] section of Engine\Config\ConsoleVariables.ini\ConsoleVariables.ini
- Enable GenerateMeshDistanceFields in the project settings under Engine -> Renderer, restart editor (same for all distance field lighting)
- Place a skylight, change Mobility to Movable. This is required even for GI at the moment.
- Place a directional light, change Mobility to Movable
With and without DFGI in a simple scene
Check out the DFAO page for restrictions, in particular only static meshes, instanced static meshes (including foliage with opt-in bAffectDistanceFieldLighting) and landscape supported for bouncing lighting.
Limitations / Known issues
- DX11 GPU required, and engine scalability settings must be on Epic
- One bounce of diffuse GI from directional lights only for now
- Bounce distance limited by the skylight’s MaxOcclusionDistance
- Only static meshes can bounce lighting and occlude bounce lighting, but everything can receive
- Lots of splotchy artifacts and overocclusion / leaking. Best results can be seen in mostly outdoor environments.
First, make sure DFAO is working properly with a movable skylight. Check that you are on Epic engine scalability settings. Use the Visualize ->DFGI mode and see if anything shows up there. Try in a simple scene with just static meshes.
Console variables for experimentation
Setting up Heightfield GI (bounce lighting from landscape)
This requires the same setup as DFGI, and then you need to add a Landscape. Some console variables that you can change at runtime, with their current defaults:
With and without heightfield GI in a simple scene