Search Unity

Bug Screen Space Reflection Quality

Discussion in 'High Definition Render Pipeline' started by Chris_Webb, Feb 9, 2023.

  1. Chris_Webb

    Chris_Webb

    Joined:
    Mar 18, 2014
    Posts:
    128
    2022.2.5f1, HDRP 14.0.6

    Are these reflections expected from HDRP?

    This is how they have looked for us for several HDRP versions (since 10, at least).
    We recently updated to 14, and I was really hoping they would get improved :)

    It seems like something is wrong with the dither

    Thanks :)
    Chris
     

    Attached Files:

  2. mgeorgedeveloper

    mgeorgedeveloper

    Joined:
    Jul 10, 2012
    Posts:
    327
    PBR Accumulation, from what I've read, is not going to work well when moving the camera.

    Switch that off, and then also try to make the effect more subtle by adjusted the various thresholds in the volume. I don't think SSR is meant to get you perfect looking mirrors in the game - it's a pretty limited approach that seems to work best for subtle reflections in puddles or smooth walls, etc.
     
  3. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    SSR in HDRP is lacking, accumulation mode is better but unusable with a ton of noise when moving.
    Before 2022.2 it was completely useless, In 2022.2 it got a new speed rejection mode which can help with the noise (world speed rejection).
    Also don't use medium/low with SSR, they're useless, only "high" preset and higher give usable reflections.
    This goes for both modes.
    Your issue is likely related to using medium quality, which is only 24 ray steps. Try high.
     
    Last edited: Feb 9, 2023
    AcidArrow likes this.
  4. LumaPxxx

    LumaPxxx

    Joined:
    Oct 3, 2010
    Posts:
    339
    24 steps is too low for ssr.
    you need at least start by 60 or higher.
     
  5. Chris_Webb

    Chris_Webb

    Joined:
    Mar 18, 2014
    Posts:
    128
    SSR looks the same (slightly worse?) with PBR accumulation off. Something is definitely wrong here :)

    It looks like this when static. High mode obviously looks better, but purely by brute force. The integration is still broken.

    That should not be the solution. Its clearly not integrating correctly.
     
    Last edited: Feb 10, 2023
    PutridEx likes this.
  6. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,668
    medium is already useless, you should use always high, also you need more rays. SSR is not the best but, SSR in almost every game out there is ugly. You can try planar reflections too.
    Also yes, integration is bad, you have bad settings, that is why we are helping you :)
    Also, are you using TAA?
     
  7. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,794
    This is true, SSR is generally bad and needs to die, BUT, the various SSR effects that Unity has released are especially bad. There are methods and hacks intended to hide the artifacts that are inherent to SSR, Unity’s either doesn’t do them, or does them badly.

    I swear the version they had in one of the old post processing stacks, while also bad and buggy, was better than HDRP’s.
     
    jjejj87 likes this.
  8. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,668
    maybe built-in implementation was prettier but it was not compatible with other features.
    I just played Howarts Legacy, with all settings at max and i saw too many static reflections like probes with very low resolution and the SSR is ugly compared to what you can do with unity SSR

    Maybe SSR needs to die haha xD but we need some cheap real time reflections anyway
     
  9. Chris_Webb

    Chris_Webb

    Joined:
    Mar 18, 2014
    Posts:
    128
    Which settings do I have are bad which break the integration?

    I have written several SSR implementations, I am very familiar with the issues. This is broken.

    Medium quality should not be useless, that's the problem. It should look worse, but not outright broken.

    Of course ramping up the ray steps "fixes" the issue, that's not the problem. The problem is that the rays are not correctly dithering and integrated.

    I am using TAA :)
     
  10. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,668
    Sorry dude, but, are you here looking for a solution or just to cry about SSR?

    Edit: i'm not seeing that effect on my SSR test not even in medium, using approximation, I'm using 160 Max Ray Steps (1050 gtx laptop)
    aaaa.jpg

    I lowered the number of rays and i have the same problem of your image
    dfghfdg.jpg

    PBR Accumulation with 160 Rays
    gfgfg.jpg

    PBR Accumulation with 24 Rays
    pbr 24.jpg


    So, i guess you have a bad implementation, looks like the solution is what we have been telling you since the first answer
     
    Last edited: Feb 13, 2023
  11. EricFFG

    EricFFG

    Joined:
    May 10, 2021
    Posts:
    183
    SSR is doing 99% nothing for us from an angled top down view, even in highest ultra settings its disabled and we have like 8 very different environments, some quite glossy, something about the implementation seems off

    In rendering debug when everything is turned 100% gloss I can get some results but otherwise no setting really gives anything noticeable.
     
  12. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,668
    Can you post screenshots also, screenshots for your settings? :)
     
  13. mgeorgedeveloper

    mgeorgedeveloper

    Joined:
    Jul 10, 2012
    Posts:
    327
    - It can only reflect what is visible on the screen.
    - the reflection angle matters (fresnel - looking down at water at your feet, you see the bottom, looking further ahead, you only see the sky). I'm not sure how Unity implements fresnel in relation to HDRP and SSR, but the built-in pipeline info is here: https://docs.unity3d.com/2022.2/Documentation/Manual/StandardShaderFresnel.html
    - your SSR settings might need tuning to allow less smooth surfaces to show reflection.
    - Please send shots :)
     
  14. mgeorgedeveloper

    mgeorgedeveloper

    Joined:
    Jul 10, 2012
    Posts:
    327
    I notice that there is not only this thread, but other similar threads, and that there is a general consensus that the current SSR implementation is not achieving "good enough" results overall (I won't repeat all the specifics here).

    But it makes me wonder, can we not get much better results if some kind of blurring was implemented, especially as the surface smoothness value drops lower. A surface with 0.8 smoothness, should not have a faded reflection as implemented now, but should have a blurred reflection instead.

    So if we configure SSR to show up in the smoothness range 0.75 to 1.0 for example, then in my view anything below 1.0 should start blurring. Is there a technical reason why this might be tricky to implement?
     
    sirleto likes this.
  15. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,794
    If SSR is not temporally stable, blurring can potentially make it worse (noise would be translated to bigger scale "wobbly-ness").

    From my point of view, they should have geared SSR to provide short range reflections just to "ground" stuff and we would still rely to cubemaps for the rest of the reflections (kinda like Zelda breath of the wild does in the shrines). But last time I tried it, I couldn't get decent quality short range reflections from HDRP's ssr that gracefully fallback to cubemaps, without a ton of artifacts in between, making SSR kinda useless.
     
    sirleto likes this.