This thread is entertaining, but unfortunately as Rawalanche correctly pointed out, AO is being misunderstood on a conceptual level.
GI is a more accurate lighting model that makes AO unnecessary in your lighting stage. GI encompasses far more of light’s actual behavior as rays travel through a scene than AO can ever be made to represent.
The comments about whether studios use AO or not… that’s kind of a moot point. But yes, big studios use AO. They use it for compositing and in shaders and material development yes, like both Rawalanche and mentioned. (Not contradictory points, by the way)
Big studios who have raytracers would be foolish to use AO in any way in their base light transport and rendering model, and they don’t. But they do use it in grading, comp, shader dev, etc… for dirt and wear masks etc…
The GIF mentioned before does in fact make it clear that GI is a better and more realistic look. The SSAO shows artifacts and unnatural shadowing in comparison. Why would you want it?
Not all scenes, games, and visualizations are intended to be ultra-realistic or conform to the current ray-tracing lighting models. AO is a shadowing effect, and a modulation of lighting, so it’s certainly not a solution by itself to replace GI or other lighting methods. It could be utilized for some interesting and unique scenarios, and also fantasy / sci-fi stuff. I imagine it or something similar to it was used in Alien: Isolation, and it’s used in Fortnite (despite that I’m not a fan of the game) which is a stylized graphics game. Who would be arguing that AO is better than GI as though they’re the same type of thing?
There’s no “better AO than SSAO” here, there’s no AO at all. Everything looks flat and parts in cascade shadow looks unlit
I don’t care about other engines/renderers, I’m using UE4 and SSGI looks bad.
@Haoris, I agree. The SSGI enabled scene is a flatter lighting, yet that is how it looks sometimes in a forest. I don’t see much of a difference in the closest tree’s shadowing or lighting except that it appears a bit brighter. The first picture has more of a depth to it in certain areas, especially darker areas with denser foliage. Is it something in the settings for SSGI that is/are incorrect for the intended result?
SSGI quality set to 4 gives the same result and I don’t think there’s some occlusion settings somewhere.
Unless you have overcast weather or a lot of fog reflecting a lot of light in every direction, you will always see a lot of shadowing under foliage that SSAO can simulate
SSGI should occlude the same amount of ambient light than “fake” SSAO while adding some color to ambiant light and shadows. I should get the same shadowing around the ferns but more green.
i disagree. At least in this stage of real-time lighting solution like dynamic GI. The problem you get when relying on the SSGI, aside from it’s awful performance impact, stems from a lack of two different things. The first being an inherent limitation of screen space algorithms in general. Is that they falloff radically the closer the requested information starts going outside of the current camera POV. So when you combine a bunch of screen space techniques like SSSSS (Screen space subsurface scattering), SSR (Screen Space Reflections), SSAO (Screen space ambient occlusion), and/or SSGI you often get extremely noticeable fading.
However, knowing this, SSAO has an inherent advantage compared to SSGI’s current implementation. Which is the parameterization of how much the area the AO can influence. With a smaller radius, (say between 10-40), the AO is able to flesh out smaller details that bring more life and complexity to a scene than anything SSGI in UE4 could allow for. And the new alternative GTAO (Ground Truth AO) introduced in 4.24 also has a visual bug itself where the AO blur calculation seems to happen at the wrong step in the GTAO pass, leaving an extraordinary washout of detail shaidng. In addition, SSAO with a smaller radius requires just as much less screen info than it’s radius. So, it fades off futher out on screen when compared to the other screen space effects, breaking up the transition into something a bit less noticeable.
To compensate for only having short raidus SSAO, I often supplement it with DFAO for larger scale occlusion. I get great performing and looking results, everytime.
Now the issue is labelled as “Backlogged”: does anyone know what’s the meaning? I was waiting the 4.26 to have it fixed as it was previously stated but I don’t know it anymore!
I will put it as simply as I can.
Realism is not always the intended outcome.
There are uses for AO, Reflection pass, refraction, and so on ON TOP of the final render, because more often than not you want to emphasize a detail or a mood that will require those passes, as the intended result is not achievable in real life.
For the SSGI I’m very interested in adding AO to it, and I even used RTAO with it, but RTAO has some limitations + performance cost. The point is, I can tell you for a fact that SSGI is not sufficient to define the contrast between surfaces, the difference between it and a baked scene is night and day.
There’s about 5% truth to it but 95% people just do it simply because they have absolutely no clue what they’re doing.
The “realism is not always the intended outcome” is a weak argument which immediately falls apart when you realize that most breakthroughs in the area of physically based (again, notice the word physically) rendering have come from Pixar. Yes, the same Pixar which does all the rubbery, cartoony animated movies.
They’ve realized very early on not only that breaking rules of physically based light transport does not add much quality or artistic control to even stylized scenes, but it actually takes away from it. Unnatural, crappy lighting hurts stylized content as much as it hurts the photoreal one. Then of course, there’s some subset of heavily stylized content like anime style cel shading so on. But if you are researching things like SSGI and RTAO, you are way too far, far away from that land anyway.
And yes, SSGI is not sufficient to define contrast between surface alone, when we are talking about fully dynamic scenes. Even the documentation states so:
But it’s also not supposed to be combined with AO. That’s why it actually overrides/disables SSAO, and the fact that it doesn’t happened with RTAO is more of a bug than a feature.
Here’s a video showcasing that assuming your albedo values are reasonable, SSGI alone can provide a nice, realistic indirect shadowing for open exterior scenes (ignore the blueprint tinkering at the end). For interior spaces, you will need more accurate skylight occlusion. In this case, ray traced skylight is the best thing to combine with SSGI, as it provides more accurate and realistic skylight illumination/occlusion than just RTAO. But yes, it is costly.
If you still don’t believe me, here are some example of my, at this time rather older work:
And that’s just personal stuff.
I do have some clue of what I am talking about, given that I spent about 9 years doing offline rendered CG before I started using UE4.
One more thing, as I wrote in my other thread, albedo is very important. It’s something people with little physically based rendering experience tend to underestimate or not know about at all. SSAO is just a simple multiply effect, it does not actually simulate light attenuation to such a degree SSGI does.
When you have extreme albedo with SSAO, it makes no difference, but with SSGI, it does. The brighter the surface it, the slower the light energy dissipates and the less prominent the contact shadows are. It’s not uncommon to see albedo values going all the way up to 1 on many marketplace assets. Game people often just don’t know any better, because they’ve not encountered realtime multi bounce indirect illumination solutions where it’d actually cause problems, but here it does.
It’s important to know that in Unreal, due to the way they handle colors, the mid 50% gray is not 0.5 but actually 0.18. This skews the perception of material brightness a lot, and people on average make much brighter materials than they should. So it’s not uncommon to see people making sidewalk concrete materials with the albedo reflectance of a fresh alpine snow And then, no wonder SSGI doesn’t work well in those cases.
Here’s an example of that:
The video shows the difference. How SSAO does not care about the albedo but SSGI does.
Thanks of all the info, but its not a weak argument, it is a fact.
When the client says he wants to see that line more, or the reflection on that surface more contrasty. You dont go and lecture him on why X, Y and Z are more realistic, he knows what he wants to emphasize or focus on… You go and get the passes you have and fake it.
I tried to follow some guidelines on albedo from Epic and here are the results.
Focus on the bld close to the camera as I have not balanced the mtls on the rest
Nothing has been baked, there is not volumetric light information on the scene.
Now you can tell me what im doing wrong here, but to me the worst of the bunch is SSGI alone and the best SSGI + RT shadows, a bit dark but I think it can be balanced.
Now, have I done anything wrong here? What am I missing? Is this what you would have done?
To me, by far the worst looks the one without any lighting at all. No AO or SSGI. The SSGI + RTAO looks almost the same as SSGI only except it doesn’t have unrealistic, excessive occlusion in the trees.
As for what you are doing wrong here? What are you missing? Pretty much everything else… Your lighting setup, your scene materials, the assets you use, the low quality architecture model with poor texture mapping, exposure setup. It just all looks quite low quality, and no amount of AO/GI shading tricks is going to save it and suddenly turn it into a masterpiece.
The drastic difference between skylight shadows on and off suggest that your skylight setup with RT Shadows off is quite wrong. The bottom half of your skylight probably cast many times stronger illumination than the approximate average value of the bounced light which would occur in the real world.
And if you have very strong illumination from the bottom part of the environment lighting, probably as strong as the one from the top (sky), then it’s no wonder that SSGI doesn’t provide sufficient shadowing, especially alone.
Most of what you said is just false. The building is not low quality, it’s simple because its representative of a future development. It looks how it is supposed to look.
The materials are very accurate according to the Epic guidelines, the “scene materials” are not very visible to you, and the ones that you can see are accurate. Im not sure what assets you are referring to, Im assuming none.
But you are correct regarding the skylight.
SSGI and skylight stationary, lowered the bottom to .15
Its a lot darker, but as flat as its ever been.
So although its true that it was too bright, its not true that it was the reason occlusion from the SSGI was weak.
Of course you will get some additional shadowing from RTAO. RT can see outside of the camera frustum while SS can not. But the significant performance impact and denoising artifacts from RTAO aren’t worth the minor changes in the image.
Your materials are hardly accurate when your windows are made out of metal rather than dielectric material
Lastly, if you don’t see any room to improve the quality of the building, at least on the texturing/shading level, then that’s your problem. But at this point, you are probably wasting your time digging too deep into AO and GI effects, because that’s just not the place where realism is missing in your scene.
Exactly, you finally got why SSGI is not enough and extra occlusion is needed to complement it, being it sky shadow or AO. Performance impact or not, SSGI is not sufficient, as you have finaly understood (I hope).
Windows are made out of mirror, because, as I said, this is representative of a future development, the levels are empty. If you are judging by the windows you are doing it wrong.
There is no room for improvement in the building materials because they are already correct. If baked it looks right, with Sky shadows or AO it also looks right… They are also following the guidelines from epic when it comes to albedo, specularity and so on. It’s all good.
Mapping is also correct, as this is generic and not specific.
Wrong again, AO and GI are the issues, nothing else, as the baked scene looks fine, and SSGI + RT Shaodws also look fine (but costly), the problem is that I dont want to bake the scene, at least not using lightmaps for the buildings, that does not fit the workflow for this project, the sun needs to be dynamic and its best to not waste too much time unwrapping buildings as they are subject to change all the time.
Realism is also not the desired outcome, it has to look good for its purpose, not real.
If I was after realism I wouldnt be discussing SSGI, AO, RT Shadows and what not, I would bake the scene.