What you'll learn:
- The three AO methods: SSAO, DFAO, and RTAO
- Where each method's settings live (Project Settings, Post Process Volume, Sky Light)
- How AO methods interact, combine, and override each other
- Detailed settings and configuration for each method
Section 34: AO Systems Theory (5 min)
Unreal provides three methods for calculating ambient occlusion. Understanding where each method's settings live is key to controlling them.
| Method | Full Name | Settings Location | Requirements |
|---|---|---|---|
| SSAO | Screen Space Ambient Occlusion | Post Process Volume | None (default) |
| DFAO | Distance Field Ambient Occlusion | Sky Light | Movable Sky Light + Distance Fields |
| RTAO | Ray Traced Ambient Occlusion | Post Process Volume | Hardware Ray Tracing + RT GPU |
AO settings are spread across three locations:
| Location | Controls |
|---|---|
| Project Settings | Master on/off, Distance Field generation |
| Post Process Volume | SSAO settings, RTAO enable/settings |
| Sky Light | DFAO settings, Combine Mode |
This is important: AO methods don't just exist independently — they have a priority system.
| Priority | Method | Behavior |
|---|---|---|
| Highest | RTAO | When enabled, overrides both SSAO and DFAO |
| Mid | DFAO + SSAO | Combine based on Sky Light's Combine Mode setting |
| Lowest | SSAO alone | Used when DFAO is unavailable |
Section 35: SSAO, DFAO & RTAO (8 min)
Settings Location: Post Process Volume
SSAO calculates occlusion using only the rendered depth buffer — what's visible on screen.
How it works:
- For each pixel, sample nearby depth values
- If nearby pixels are closer (occluding geometry), darken the pixel
- Blur the result for smoother occlusion
Pros:
- Works on any geometry
- No precomputation required
- Fast and widely compatible
Cons:
- View-dependent — occlusion changes as camera moves
- Limited to screen-space information
- Can miss occlusion from off-screen geometry
Settings Location: Sky Light (must be Movable)
DFAO uses the Mesh Distance Fields we enabled in Part 2 and used for shadows in Part 4.
Requirements:
- Project Settings: Generate Mesh Distance Fields must be enabled
- Sky Light Mobility: Must be set to Movable (Static/Stationary Sky Lights cannot use DFAO)
Why Movable? DFAO requires dynamic world-space calculations. Static and Stationary Sky Lights use baked precomputed lighting and cannot access distance field data for dynamic AO.
How it works:
- For each pixel, ray march through the distance field data
- Distance fields provide occlusion information from all geometry (not just on-screen)
- Result is view-independent and stable
Pros:
- View-independent — consistent regardless of camera angle
- Stable, dynamic, works in world space
- Handles large-scale occlusion well
Cons:
- Requires Movable Sky Light
- Resolution limited by distance field quality
- Doesn't capture small detail as well as SSAO
Threading the Distance Field story: We enabled Distance Fields in Part 2, used them for soft shadows in Part 4, and now use them again for DFAO. Later, in Part 11: Indirect Lighting Systems, Distance Fields will appear again for Lumen's software ray tracing.
Settings Location: Post Process Volume
RTAO performs accurate AO via hardware ray tracing, independent of screen space or distance fields.
Requirements:
- Project Settings: Support Hardware Ray Tracing enabled
- Hardware: RTX/DXR capable GPU + DirectX 12
- Post Process Volume: Ray Traced Ambient Occlusion enabled
How it works:
- For each pixel, trace rays into the scene
- Rays test against actual geometry for occlusion
- Result is physically accurate
Pros:
- Highest quality AO
- Accurate for all geometry sizes
- View-independent
Cons:
- Requires RT hardware
- Most expensive method
- May have noise at low sample counts
When Ray Traced AO is enabled in your Post Process Volume, it replaces both SSAO and DFAO. This is the highest quality option and fully overrides other methods.
When both DFAO and SSAO are active (no RTAO), they combine based on the Combine Mode setting on the Sky Light:
| Combine Mode | Behavior |
|---|---|
| Minimum | Takes the darker of the two values at each pixel |
| Multiply | Multiplies both AO values together (darker overall) |
This allows DFAO to handle large-scale occlusion while SSAO adds fine contact detail.
| Scenario | Recommendation |
|---|---|
| Highest quality (RT hardware) | RTAO — overrides other methods |
| Most projects (no RT) | DFAO + SSAO combined — best of both |
| Interior small details | SSAO (better at small-scale occlusion) |
| Outdoor large-scale | DFAO (more stable at distance) |
| Performance-critical | SSAO only (cheapest) |
Section 36: AO Settings & Configuration (5 min)
With your Post Process Volume selected, navigate to:
Details Panel > Rendering Features > Ambient Occlusion
| Setting | What It Does | Default | Typical Range |
|---|---|---|---|
| Intensity | Strength of darkening (0 = off) | 0.5 | 0.3 – 1.0 |
| Radius | How far to check for occlusion (cm) | 200 | 100 – 400 |
| Power | Contrast curve of the occlusion | 2.0 | 1.0 – 4.0 |
| Quality | Sample count (noise vs performance) | Scalability | Leave default |
To disable SSAO explicitly:
- Set Intensity to 0, or
- Uncheck the Ambient Occlusion override entirely
If you have hardware ray tracing enabled, you'll find RTAO settings in the same section:
Details Panel > Rendering Features > Ambient Occlusion:
Ray Traced Ambient Occlusion: ✓ On
| Setting | What It Does | Default | Notes |
|---|---|---|---|
| Ray Traced Ambient Occlusion | Enable RTAO (overrides SSAO/DFAO) | Off | Requires RT hardware |
| Intensity | Strength of ray traced AO | 1.0 | 0.0 – 1.0 |
| Radius | Ray trace distance | 200 | Larger = more distant occlusion |
| Samples Per Pixel | Ray count (quality vs noise) | 1 | Higher = cleaner but slower |
Note: When RTAO is enabled, it completely replaces SSAO and DFAO. You don't need to disable them separately.
DFAO is controlled through your Movable Sky Light:
Sky Light > Details > Distance Field Ambient Occlusion
| Setting | What It Does | Default |
|---|---|---|
| Occlusion Max Distance | How far DFAO traces (cm) | 1000 |
| Occlusion Contrast | How dark the occlusion gets | 0.5 |
| Occlusion Exponent | Falloff curve of occlusion | 1.0 |
| Min Occlusion | Minimum darkness (prevents pure black) | 0.0 |
| Occlusion Tint | Color tint applied to occluded areas | Black |
| Occlusion Combine Mode | How DFAO combines with SSAO | Minimum |
Combine Mode Explained
| Mode | Result |
|---|---|
| Minimum | Uses the darker value from DFAO or SSAO at each pixel |
| Multiply | Multiplies DFAO × SSAO (darker overall, richer AO) |
For most projects, Multiply produces richer ambient occlusion by letting both methods contribute.
If using RTAO, you can also enable ray traced shadows from the Sky Light:
Sky Light > Details > Light:
Cast Ray Traced Shadow: ✓ On
This enhances AO and indirect lighting quality by casting ray traced shadows from the sky light. Only effective when RTAO is enabled.
Best Quality (with RT hardware)
Post Process Volume:
Ray Traced Ambient Occlusion: ✓ On
Samples Per Pixel: 2-4 (balance quality/performance)
Sky Light:
Cast Ray Traced Shadow: ✓ On
RTAO overrides SSAO and DFAO automatically.
Good Quality (without RT hardware)
Project Settings:
Generate Mesh Distance Fields: ✓ On
Ambient Occlusion: ✓ On
Sky Light (Movable):
Occlusion Combine Mode: Multiply
Occlusion Contrast: 0.5
Post Process Volume:
Intensity: 0.5
Radius: 200
DFAO handles large-scale, SSAO adds fine detail, Multiply combines them.
| Issue | Cause | Fix |
|---|---|---|
| No AO visible | AO disabled in Project Settings | Enable Ambient Occlusion in Default Settings |
| AO looks view-dependent/flickery | Only SSAO active | Enable DFAO (Movable Sky Light + Distance Fields) |
| DFAO not working | Sky Light not Movable | Change Sky Light Mobility to Movable |
| DFAO not working | Distance Fields not generated | Enable Generate Mesh Distance Fields in Project Settings |
| AO too dark | Intensity or contrast too high | Reduce Intensity (PPV) or Occlusion Contrast (Sky Light) |
| AO missing on specific meshes | Mesh has no distance field | Check mesh settings, enable distance field generation |
| PPV settings not applying | Infinite Extent not enabled | Enable Infinite Extent (Unbound) on the PPV |
| RTAO not available | No RT hardware or not enabled | Check GPU support, enable Hardware Ray Tracing in Project Settings |
Key Points:
- Three AO methods: SSAO (Post Process Volume), DFAO (Sky Light), RTAO (Post Process Volume)
- RTAO overrides both SSAO and DFAO when enabled — highest quality
- DFAO + SSAO combine based on Sky Light's Combine Mode (Minimum or Multiply)
- DFAO requires Movable Sky Light — Static/Stationary cannot use distance field AO
- Settings are spread across Project Settings, Post Process Volume, and Sky Light
- Use Min Occlusion on Sky Light to prevent areas from going pure black
- Distance Fields connect Part 2 (setup) → Part 4 (shadows) → Part 9 (AO) → Part 11 (Lumen software RT)
You now have ambient lighting (Parts 6-7), ambient occlusion fundamentals (Part 8), and ambient occlusion systems (Part 9) working together. But in the real world, light doesn't stop when it hits a surface — it bounces. In Part 10: Indirect Lighting, we'll explore Lumen and how light bounces create the subtle color bleeding and soft illumination that makes scenes feel real.