Ambient Occlusion types?

So, I have read about SSAO and DFAO and have some questions:

(1)
In a default project if you visualise the GBuffer AO you can see it in your scene.
However, it can be seen even though DFAO is not enabled and no post-process is in effect.

So, are there three different kinds of AO available in UE4 (DEFAULT, SSAO and DFAO) or is the default AO and the post-processing SSAO one and the same?

(2)
Is it possible to control the default AO in any way? (i.e. that which is visible without any post-process enabled).
It seems somehow redundant to have default AO enabled in addition to post-processing AO unless they are one and the same (which I cannot deduce from the docs).

I was about to enable DFAO when I began wondering which I could exclude w.r.t performance and quality.

Hi Ash,

There are three different AOs available in UE4, but you’re mistaking on the three available.

  • SSAO - This is used with Post Process. By default UE4 has some default Post Process settings that do not require you to add a post process volume to adjust. AO is one of those that has a default value. Adding a Post Process allows you to set the values there to further set it up as you would like.
  • DFAO - This is dynamic AO by way of using Distance Fields enabled for your project and adding a Movable Skylight to your scene. The intensity and various settings can be changed via the skylight.
  • Lightmass AO - This is for pre-computed (baked lighting) and is not on by default. You can enable this in the World Settings > Lightmass > Use Ambient Occlusion. There is a number of settings here that can be adjusted to change the look of this.

AO is not something that can be seen, at least not clearly, in well lit or directly lit areas. This is the way light acts in real life. For instance, if I place a cube in a scene and have the Directional light brightly shining on it, I would not see any AO in the cracks or crevices where the cube meets the floor because it’s being directly lit. However, If I were to lift up the box slightly, I would expect to see some AO below the box. You can try this in the DFAO view mode or even the Ambient Occlusion view mode. These views are just visualization of what AO is doing and not how it is directly impacted by other factors in your scene such as lighting, which can easily wash out AO.

Is it possible to control the default AO in any way? (i.e. that which is visible without any post-process
enabled). It seems somehow redundant to have default AO enabled in addition to post-processing AO unless they
are one and the same (which I cannot deduce from the docs).
I was about to enable DFAO when I began wondering which I could exclude w.r.t performance and quality.

For SSAO just add a post process volume and set it to unbound (checkbox). Then you can control the settings under the Post Process drop down. After you build lighting you can use the buffer visualization view for AO and see the changes there easily if you need.

For DFAO, these settings are all in the Skylight under the Distance Field Ambient Occlusion tab.

If you’re using DFAO you shouldn’t have a problem setting up a Post Process volume and setting the AO intensity to 0 for SSAO. This way it’s disabled and only using DFAO.

I hope that helps clear things up. If you have any trouble with it let me know.

Tim

Thanks for the detailed explanation Tim, that clears it all up!

I’ve been through the documentation a few times, and a lot of this was not clear until reading this post. This info/explanation really should be added to the official documentation. I’d love to see a similar breakdown of the various shadow types…

I guess that pre-computed AO (Lightmass AO) is the easiest for the GPU? What gives the best (graphics) result?