So our game is a cinematic stealth action game(at minimum) aiming for two things Photorealism and running at 60fps on modern RT GPU’s@ Hardware recommended resolution. Given this may not be possible with Lumen+Lumen Reflection and Nanite for our performance goal, our scalability will be very specific and we may have to rely on SSR for the reflection aspect for default settings.
ㅤㅤThe thing is, one of the best engine/games I’ve ever seen was FOX engine’s MGSV GZ/TPP on PC. Day/Night Cycle(which our project requires) and is extremely performant in deferred rendering while also keeping very good photorealism.
ㅤㅤOne of the more subtle thing I came across was its use of screen space reflections. These are not only softer looking than UE4/5 SSR but in day time, these reflections are not just cheap(for modern cards) but give the impression of bounce lighting(like SSGI).
Take a look at these screenshots, especially the day one when it’s not raining.
Please continue to read the rest as I make some serious suggestions for UE5 scalability.
Thanks for reading and hopefully I didn’t write this for nothing. If you have a way of achieving the results I posted in the images please share. Would love to hear back from anyone.
Here is a post I recently made, note I wrote this before I started reading the UE5.2 documentation. But for record my opinion has not changed on the subject.
And here is a link on the Fox Engine and some of the stuff that make MSGV look so good (Now out of commision by Konami for using UE5 in favor)
If anyone has information of view dependent roughness in Unreal, I would be extremely interested in hearing or viewing a solution (I’ve done minimal research but It looks great in Fox Engine)
This is normally referred to as the Fresnel effect and I’m fairly certain some amount is automatically applied, but you could manually apply Fresnel to the roughness if you want.
That looks pretty good. Thank you for the blueprint and photos.
I’ll be experimenting with that in our project.
I heard of the Fresnel had problems but this looks pretty good to me.
Hopefully I can tweak the material more to get closer to that “soft bounce” lighting look in the first photo/third photo. Like a dry concrete floor receiving and projecting SSR information as a more soft bounce look (like the first photo).
That’s the biggest goal.
(The left material is quite similar, just a little more complex with some dirty and normal maps)
As you can see it’s quite easy, just adjusting the values to your needs. But maybe the quality of SSR inside the Post Process volume can help too (better performant if you can achieve it too without raising the Quality value, but I already had it in my scene).
So I’ve been tinkering with some common assets and still running into the same problem.
My photo realistic assets look wet whenever I try to utilize SSR. Look at the concrete. Can’t share our project so just imported some stuff in City Sample. No lumen is enabled. And note the recording hides the wet look.
Here is my material. We are trying to keep material complexity in the bright green which the material texture set up here does very well. We will set up all our assets like this. Can’t figure out how get that bounce look without making it look wet and I need to keep complexity in the light green.
The wet look is the same in our game.
In both our game and MGSV we just lower roughness and add rain effects.
But I want to utilize SSR on extremely dry looking surfaces. I’ll post another(better) photo for what I’m trying to achieve.
Unfortunately I couldn’t show the whole material, but you just need to use a roughness texture and a normal one, to add those extra details.
Anyway, I think you are not working fine with the SSR values, as they are too much mirrory. Try to not use Virtual Textures. Are you using Epic quality?
There was a GDC presentation about how stochastic SSR was implemented in the Frostbite engine that is pretty interesting, includes per-pixel diffuse reflections and contact hardening:
You may need to alter a cvar for that. I think it’s
r.SSR.MaxRoughness
There’s a similar setting for Lumen reflections as well.
I think it’s like 0.4 by default.
Increasing it does have a performance cost as you’ll be increasing the number of pixels that reflections need to drawn or traced
Thank you for sharing that. A little beyond my skills but I’ll keep it under my belt for future employees who can hopefully replicate that look without HWRT .
Heads up for anyone reading and thanks to the people above who helped me find the right path on the correct research, the SSR shown in MGSV example is combined with very subtle fresnel.
Replicating the result in the first MGSV pic, bright colored objects will appear to give “bounce light” on the material below
But the bounce effect will only work r.SSRQaulity 3 is enabled(either by Cvar or PPV) becuase any quality lower will result in mirror only reflections which is why I kept getting an overly wet look on dry materials.
r.SSRQaulity 3 is extremely expensive compared to MGSV’s dry use(as in dry texture) of it which was extremely cheap. UE’s SSR requires blurry or expensive TSR/TAA to remain jitter free and the Frostbite’s implementation in SWBF2 is twice as fast/TAA independent and looks better in general tbh.