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.
Troubleshooting
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
r.VPLMeshGlobalIllumination=1
r.SurfelDensity=.05
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:
r.HeightfieldGlobalIllumination=1
r.HeightfieldInnerBounceDistance=3000
r.HeightfieldOuterBounceDistanceScale=3
r.HeightfieldTargetUnitsPerTexel=200
With and without heightfield GI in a simple scene