DFAO making everything look extremely reflective

I’m currently running into an issue where DFAO making objects appear significantly more shiny and reflective than the should be. While DFAO is properly adding an AO like effect (pretty shimmery though) it’s also making everything look extremely reflective, to the point of appearing wet. The more intense the skylight is, the more intense the “reflection” is.

With DFAO

http://i.imgur.com/sdqFbn6.jpg

Occlusion Max Distance Set to 0 (Causes many artifacts on other meshes)

http://i.imgur.com/4Af7diX.jpg

Min Occlusion set to 1 (DFAO “Off”)

http://i.imgur.com/mHNeuW0.jpg

These images are cherry picked to show the problem, but I really need the skylight to brighten the pitch black shadows, but I need DFAO as well.

Thank you for your time.

Hi Luke,

I’ve tried this in a simple scene in 4.8 with some of the stone/rock materials from the Starter Content, but I’m not seeing the same results on my end.

  • Have you tried applying just a base material with only color to your meshes or using one of the Starter Content materials as a test? If not can you give that a shot?
  • If it does end up being the material can you post the material setup?

Thank you!

Tim

This was done in the starter scene as a completely different project; copying over my skylight and directional light from the images in the original post - as well as a migration of the wall asset from above.

DFAO On

DFAO Off (Min occlusion set to 1)

As you can see, the effect is still there (in my eyes), but to a much, much reduced effect. Interestingly, the asset I migrated has the effect the least amount - which makes sense as it’s nearly completely rough.

So what I need to know then is… what is causing the effect to be so pronounced in my project? I have an atmospheric fog, exponential height fog, sky light, sun, and post process volume with some ambient occlusion adjustments. Obviously I’ve tinkered with all of those things extensively to see what has the most or least impact, no combination of effects seems to be the cause. In the images above only Skylight and Direct light are enabled.

Skylight intensity has the most effect - but that seems to only be amplifying a problem that is already there; My skylight is currently set to an intensity of 5. I could get away with (and prefer) it to be much lower; but I’m making a game, and I can’t have shadows (of which there are MANY) be nearly pitch black in dynamically lit daylight levels, as they are with skylights of an intensity of 1.

I’m still not seeing this reflectiveness on my end to the effect you have on your screen.

I’ve attached a simple video running through the settings changes to hopefully indicate what I’m seeing on my end.

When changing the settings the Intensity in the skylight is only adjusting the scene brightness and now the reflectiveness of an object.

The min occlusion is going to determine how much a occluded area can be darkened. When using a value of 0 this means that it can be fully darkened, pending other values settings, or if set to 1 or higher this will not be as darkened in those occluded areas.

Not shown in the video, I also used a fully rough material that I couldn’t see this reflectiveness either. Is this only happening in this project or have you tried this in a new project as well? There may have been a setting that got shifted perhaps.

Also, what OS are you currently using? Windows, I would presume though.

Thanks!

Tim

So far, I appear to have narrowed it down to being a bug in the configuration files or the engine itself. When I tried using the starter content that was a new project.

This scene is has all lighting and post process elements deleted from it. The only two objects on screen are a skylight with default settings, and an atmospheric fog with default settings so the skylight has something to capture.

http://i.imgur.com/1Fc2nDx.jpg

As you can also see, the material is bare bones. Removing the scalar value from roughness makes it more reflective.

I’m using Windows 8.1 x64, Nvidia GTX 980 as the GPU with fairly recent drivers. Both 4.8.0 and 4.8.1 have had this issue.

I’m going to attempt to revert some of the configuration files to see if that makes a difference.

I believe I’ve solved it. Changing configuration files did nothing, but some inspiration from a smart colleague sent me down the right path.

Standard scene, exhibiting the bogus reflections.

http://i.imgur.com/kxokqfS.jpg

Disabling specular entirely in the material (Not desirable for obvious loss of ALL reflections, but still closer visually to the desired scene (This would’ve been my “Fix” had I not found a better one right after))

http://i.imgur.com/Le28lE6.jpg

Specular set back to normal, but interesting comparison shot of Skylight set to “Static” instead of the normal movable. Looks like that episode of SpongeBob where in the future everything was made out of chrome.

http://i.imgur.com/rKtfaIN.jpg

Finally the solution, adding a reflection capture to the scene:

http://i.imgur.com/Ckic9t7.jpg

To some that may look the same as the 2nd image, but remember, this material is nearly fully rough, so that’s intentional. Other parts of scene benefit from having this fixed.

Also, while to some, adding a reflection capture to the scene may have been a no-brainer… this is a marked departure from the requirements of all previous 7 versions of UE4 for setting up a scene - as this problem most certainly cropped up the instant we switched to 4.8 from 4.7. I was under the impression that reflection captures were only truly required for very glossy/metallic materials.

Is this a bug, or is this intentional behavior introduced in 4.8?

Checking this in 4.7, 4,8, and 4.9 (internal build), I’m not able to see a significant difference between any of the versions with a sphere reflection capture or not.

I will say that there are some significant improvements with performance and quality for DFAO coming in 4.9 though that may help. There is better quality on the material in that version.

The problem with specular input is probably where most of the issues are coming from. I would disconnect that all together and see if you get better results. The problem is that when this is connected it affects how roughness is handled. You can test this yourself by setting up a basic material color with a constant value plugged into roughness and set it to 0. You will see reflections and shininess to it. Now plug in a value of 0 to specular into the roughness. It will disable the effects.