Landscape DFAO Standalone Problem

Hi there!

This is my first time on the UE forum, so in case that I am
posting in the wrong section I am really sorry.

I am using UE version 4.13.1 and did some testing with “Distance Field Ambient Occlusion”.
The images below show my problem:
I created a landscape(import heightmap) and everything worked fine in the editor(img1 = immersive view and img2 = play in new editor window) but as soon as I play the game in standalone mode or launch it some “weird black splatters” occur(img3). I have already found threads about this topic but they mostly describe a problem with the scaling of static meshes and not landscapes. Furthermore I am pretty sure it has to do something with the DFAO because the problem does not occur when setting the sky light to stationary. I know DFAO is still in development so it might be a bug?

Any idea/suggestion/workaround/help is appreciated.

Thank you in advance!

112070-standalone.gif

Hi Justus,

I’ve submitted a ticket for this to be investigated. You can track the status here: Unreal Engine Issues and Bug Tracker (UE-37787)

The issue may not be immediately available since we’re updating some things on our back-end for the public issues site. You’ll be able to access it shortly if you need to see or reference it.

As a workaround for the moment, you can use the console command r.AOGlobalDistanceField 0 to disable them while testing. This doesn’t disable DFAO, just the Global Distance Field, which was an optimization method introduced several releases back.

Tim

Hi Tim,

thank you! The workaround works like a charm(for the moment).

Justus

As Tim figured out this is caused by the global distance field which is an important optimization to DFAO. It’s actually because the heightfield is still streaming in due to texture streaming when we cache it in the global distance field. To workaround it (without disabling the global distance field) you can issue a console command from blueprint:

r.AOGlobalDistanceFieldPartialUpdates 0

That will force a full update of the global distance field. On the next Tick make sure to change it back!

r.AOGlobalDistanceFieldPartialUpdates 1

Otherwise there will be a large GPU cost every frame.

Working on a real solution.

Hi ,

Thank you for investigating this problem.
Just tested it out, this solution works as well.

Thanks
Justus