Back to Lighting

Part 8: AMBIENT OCCLUSION

~15 min2 sections

What you'll learn:

  • What Ambient Occlusion is and how it relates to ambient lighting
  • How to enable AO in Project Settings
  • How to add a Post Process Volume (your first time using one)
  • Basic AO demonstration and adjustment

Section 32: Ambient Occlusion Fundamentals (5 min)

Ambient Occlusion (AO) darkens areas where ambient light would be blocked — corners, crevices, and where objects meet surfaces.

AspectAmbient LightingAmbient Occlusion
What it doesFills shadows with omnidirectional lightDarkens where that light would be blocked
When appliedDuring rendering (Sky Light)After rendering (approximation)
Physically basedYes (captures environment)Approximation (estimates occlusion)

In Part 6, we set up Sky Light to provide ambient fill — soft, directionless illumination from all angles. But that ambient light shouldn't reach everywhere equally. Corners should be darker. Objects sitting on floors should have contact shadows.

AO is the shadow side of ambient lighting. Just as direct lights cast shadows, ambient light gets occluded in tight spaces. AO simulates this effect.

Without AO, scenes can look flat — objects seem to float because there's no contact darkening. With AO, objects feel grounded and spaces have depth.


In Part 2, we disabled Ambient Occlusion in Project Settings so we could see pure lighting contributions. Now let's enable it.

Project Settings > Engine > Rendering > Default Settings:
    Ambient Occlusion: ✓ On

This is the master switch. With it off, no ambient occlusion renders regardless of other settings.


Section 33: Post Process Volumes & Basic AO (10 min)

In Part 2, we discussed the relationship between Project Settings and Post Process Volumes. Project Settings define global defaults for your entire project. Post Process Volumes let you override specific settings on a per-scene (or per-area) basis.

Now we'll use a Post Process Volume for the first time — to control AO settings.

Adding a Post Process Volume

  1. Place Actors panel → Search for "Post Process Volume"
  2. Drag it into your scene
  3. Select the volume and find Post Process Volume Settings in the Details panel
  4. Enable Infinite Extent (Unbound)

TODO: Screenshot - Adding Post Process Volume from Place Actors panel

With Infinite Extent (Unbound) enabled, the volume affects your entire level rather than just the space inside its bounds. This is what you want for global settings.

TODO: Screenshot - Post Process Volume Settings showing Infinite Extent checkbox

How Post Process Volume Settings Work

Post Process Volume settings use a checkbox + value pattern:

  • Checkbox unchecked = Use the Project Settings default
  • Checkbox checked = Override with your custom value

This lets you selectively override only the settings you want to change while inheriting defaults for everything else.


Setup:

  1. Use your test scene with geometry (cubes, cylinders on a floor)
  2. Make sure you have a Movable Sky Light providing ambient fill (from Part 6-7)
  3. Position objects close to walls and each other

Toggle AO On/Off:

With AO Off (our Part 1 state): Objects appear to float — no contact darkening where they meet the floor.

With AO On: Dark contact shadows appear where objects meet the floor and in corners — even though no direct light is casting those shadows.

TODO: Screenshot - Scene with AO OFF (objects floating)

TODO: Screenshot - Same scene with AO ON (contact shadows, grounded)


With your Post Process Volume selected, navigate to:

Details Panel > Rendering Features > Ambient Occlusion

The most important setting to start with is Intensity:

SettingWhat It DoesDefaultTypical Range
IntensityStrength of darkening (0 = off)0.50.3 – 1.0

Demonstration:

  1. Check the Intensity checkbox to enable the override
  2. Set Intensity to 0.0 — AO disappears
  3. Set Intensity to 1.0 — AO becomes very dark
  4. Set Intensity to 0.5 — balanced default

TODO: Screenshot - PPV Ambient Occlusion Intensity demonstration


AO is an approximation, so it's easy to overdo it. For realistic results:

  • Subtle is better — Real-world ambient occlusion is soft and understated
  • Intensity 0.3–0.5 works for most scenes — higher values look stylized
  • Match your lighting — Bright, diffuse lighting needs less AO; dramatic lighting can use more
  • Check corners — If corners look unnaturally dark, reduce intensity

Key Points:

  • Ambient Occlusion is the shadow side of ambient lighting — darkens where Sky Light would be blocked
  • Enable AO in Project Settings > Default Settings > Ambient Occlusion
  • Post Process Volumes override Project Settings on a per-scene basis
  • Use Infinite Extent (Unbound) for level-wide settings
  • Intensity 0.3–0.5 is a good starting point for realistic AO

You now understand what AO is and how to enable it. But Unreal provides three different methods for calculating ambient occlusion — each with different strengths and requirements. In Part 9: Ambient Occlusion Systems, we'll explore SSAO, DFAO, and RTAO, learn where their settings live, and understand how they interact with each other.