I see, thanks for that.
But where do I turn off IDFS? I thought I had done that in the skylight where else should it be turned off?
I see, thanks for that.
But where do I turn off IDFS? I thought I had done that in the skylight where else should it be turned off?
IDFS is a per-mesh setting. You’d have to turn it off in the mesh.
Yeah, I meant to suggest that you replace DFAO and other DF effects with SSGI, not use both together.
interesting. it seems I was plain wrong about how SSGI works in UE4, as in my tests I was only getting light bounces but no attenuation and I’ve heard other people claim it was removing SSAO. perhaps there was something wrong in my test scene or maybe the effect was just too subtle and I didn’t test enough. seeing it now on a test scene I can actually see it has its own darkening/occlusion and just like in your video it appears stronger and more natural/correct than SSAO. so yeah, that’s settled
so yeah, since SSGI already has its own occlusion term you’d never want SSGI alongside SSAO.
however DFAO works at a different scale so it’s still worth it. DFAO normally mixes with SSAO and has an Occlusion Combine Mode which when set to Minimum (default value) it prevents over-occlusion, so you get AO at small scale from SSAO and at medium scale from DFAO. testing now and DFAO and SSGI seem to mix fine as well
here’s a plain SSGI vs DFAO comparison, SSAO intensity is set to 0% btw so it’s really just SSGI vs DFAO. dont mind the extra thick walls, it’s just cloned cubes
at this scale SSGI doesn’t give you the occlusion you’d expect for this room to seem like an interior
close it down with walls and doors and it will fall short at appearing like an interior, while DFAO helps a lot with that (artifacts are evident here but these are just plain straight and white walls, better shapes and actual textures greatly hides them)
off-screen artifacts from SSGI (and SSAO ofc) on interiors are especially jarring for me. just look at this ceiling’s occlusion getting thinner until it disappears at the top left of the image
now what if we mix them? well things get more interesting
of course as you say this is just for cases where lightmass is not an option. I assumed that since the beginning and personally I prefer a setup with a baked stationary skylight + dynamic movable light if I need a time of day system, and if the art style allows don’t bother with lightmap UVs at all by forcing all static meshes to use the volumetric lightmap
my bad, this is entirely a different bug than what I was referring to
changing the scale of the mesh (on Build Settings → Build Scale) to something slightly different than 1,1,1 (but not too slight) also fixes it. so 1.05,1.05,1.05 or 0.95,0.95,0.95 actually fix it as well.
interestingly the default Cube (which is also 1x1x1m) doesn’t have this issue because the DF resolution scale is saved to 2.0 by default. setting it to 1.0 brings the problem to it as well, which means it’s not a topology problem (1M_Cube has 1 quad per side while Cube has 4 quads per side)
it’s like the DF generation has troubles when something is exactly 1 meter at a DF scale of 1.0
Yes, so looks like we mostly agree.
I originally thought you meant to supplement SSGI with DFAO in the way similar to original post. It did not occur to me that DFAO could be used in more large scale skylight occlusion, but then I realized that’s exactly what they do in Fortnite. It actually makes sense in terms of being better than nothing for scenarios where one can not afford ray tracing and level geometry changes at runtime.
I generally don’t like DFAO because the high frequency blurry artifacts that just look like burnt dirt, but if it’s used for larger scale shadows then it ends up looking like smooth soft shadow gradients that won’t be very distracting.
And I also do agree that Lightmass + SSGI is the best solution. I did the test recently with Luoshuang’s GPU lightmass and SSGI, where combination of SSGI and volumetric lightmap does a really great job of grounding the movable objects into static scenes:
Seems like it. Or at least when there is a surface aligned with the bounds at 1m/1dfs. Not entirely sure though.
I’ve got to say, Im testing it on my project, created a copy just for it and Im getting pleased with it, there was a big gain in performance by turning off all that DF stuff, but quality isnt quite there yet when it comes to occluded areas (this is just for exterior), so I will see if it can be mixed up… On another note though, the gain in performance allows me to turn on Ray Traced shadows for the skylight, which help with occlusion.
So,
Have you noticed that the static fraction property under SSAO affects the occlusion on SSGI?
SSGI off, SSAO off.
SSGI on Static fraction 1
SSGI on Static Fraction 0
Right now in my project, to get good results Im using RTAO, without it flat surfaces in shadow look really flat, I get the light bounces, and thats great, but I dont get the shadows that would come from nearing buildings that would show up in an offline render, It also lacks detail due to the SS aspect of it, but with RT AO it looks somewhat decent.
Im liking the performance gain that Im getting for using SSGI and the removal of artifacts caused by DF, and I dont mean the “burn” marks, I mean weird tiles that flicker all over the place.
That’s odd. That’s something I’d actually consider a bug
Overall, combining RTAO and SSGI will likely still give you bad performance and double occlusion. It really depends on the scene, but people often tend to overestimate the amount of occlusion scene should get.
Then again, maybe it looks closer to reality, as SSGI alone won’t do it for dynamically lit scenes, because there is no large skylight occlusion to begin with. So double occlusion, albeit wrong, looks more right because it somewhat simulates something close to skylight illumination. In that case, disabled RTAO but enabled Ray Traced Shadows on Skylight combined with SSGI would probably be the closest to the right result one can get. But then, once again, RT SkyLight is much more expensive than RTAO
Hard choices…
RT shadows in the skylight help, but have a higher performance cost than RTAO.
I was forced to turn off RTAO though because it was creating a lot of noise in some objects that are seen close to the camera, ugly noise and even with high samples still happened badly (and got slower), and it actually replaces the occlusion from the SSGI, if you turn RTAO on with intensity 0 all the occlusion is gone from the scene, so it doesn’t clash with SSGi, just complements it.
But, unfortunately, isnt good enough.
Now, I know more or less how its supposed to look because I can bake it and see the areas that should be dark, for example, inside windows and balconies, but SSGI alone is not doing it.
In any case Im happy enough with the result to call it a win over DFAO/IS, not having to bake the scene is a plus, also not having the weird annoying flickering tiles from DF is a big plus.
Im also using some trickery to add AO per shader on trees, that helps a lot as well.
Can you post some screenshots of the level where SSGI alone is not doing it?
There’s often issue where people use too high overall albedo on their materials, resulting in everything being washed out. Offline renderers have same issue.
Theres no way that corner (inside the balcony) would look like that naturally.
See the inside?
When I bake it, I get that look all the time, but without it I had to use a workarount, I created a darker material that Im going to apply to the internal walls… This building was just a test though, it was just to see what happened, btw its not 100% white, its actually .58-.68
Trees
BTW I have RT Shadows on, for the sky, but the effect is barely noticeable.
But look, like I said, its a win overall.
This is exactly what I meant. What are the basecolor/albedo values of that white color on the balconies? Is it unrealistically pitch white, or is it more reasonable 0.7-ish range?
That being said, this is the kind of scene where ray traced skylight + SSGI would look great I think.