Screen Space Reflection
The Screen Space Reflection (SSR) override is a High Definition Render Pipeline (HDRP) feature that uses the depth and color buffer of the screen to calculate reflections. For information about how SSR works in HDRP, see the reflection documentation.
Enabling Screen Space Reflection
[!include[](snippets/Volume-Override-Enable.md)]For this feature: The property to enable in your HDRP Asset is: Lighting > Reflections > Screen Space Reflection. The property to enable in your Frame Settings is: Lighting > Screen Space Reflection.
Using Screen Space Reflection
HDRP uses the Volume framework to calculate SSR, so to enable and modify SSR properties, you must add a Screen Space Reflection override to a Volume in your Scene. To add Screen Space Reflection to a Volume:
- In the Scene or Hierarchy view, select a GameObject that contains a Volume component to view it in the Inspector.
- In the Inspector, navigate to Add Override > Lighting and click Screen Space Reflection. HDRP now calculates SSR for any Camera this Volume affects.
Properties
To edit properties in any Volume component override, enable the checkbox to the left of the property. This also tells HDRP to use the property value you specify for the Volume component rather than the default value. If you disable the checkbox, HDRP ignores the property you set and uses the Volume’s default value for that property instead.
Property | Description |
---|---|
Screen Edge Fade Distance | Use the slider to control the distance at which HDRP fades out screen space reflections when the destination of the ray is near the boundaries of the screen. Increase this value to increase the distance from the screen edge at which HDRP fades out screen space reflections for a ray destination. |
Max Number of Ray Steps | Sets the maximum number of iterations that the algorithm can execute before it stops trying to find an intersection with a Mesh. For example, if you set the number of iterations to 1000 and the algorithm only needs 10 to find an intersection, the algorithm terminates after 10 iterations. If you set this value too low, the algorithm may terminate too early and abruptly stop reflections. |
Object Thickness | Use the slider to control the thickness of the GameObjects on screen. Because the SSR algorithm can not distinguish thin GameObjects from thick ones, this property helps trace rays behind GameObjects. The algorithm applies this property to every GameObject uniformly. |
Min Smoothness | Use the slider to set the minimum amount of surface smoothness at which HDRP performs SSR tracing. Lower values result in HDRP performing SSR tracing for less smooth GameObjects. |
Smoothness Fade Start | Use the slider to set the smoothness value at which SSR reflections begin to fade out. Lower values result in HDRP fading out SSR reflections for less smooth GameObjects |
Reflect Sky | Indicates whether HDRP should use SSR to handle sky reflection. If you disable this property, pixels that reflect the sky use the next level of the reflection hierarchy. Note: SSR uses the depth buffer to calculate reflection and HDRP does not add transparent GameObjects to the depth buffer. If you enable this property, transparent GameObject that appear over the sky in the color buffer can cause visual artifacts and incorrect looking reflection. This is a common limitation for SSR techniques. |
Limitations
To calculate SSR, HDRP reads a color buffer with a blurred mipmap generated during the previous frame. Depending on your HDRP Asset settings, the content of this color buffer may vary.
- With Rough Refraction enabled and Distortion disabled, the color buffer only includes transparent GameObjects that use the BeforeRefraction Rendering Pass.
- With both Rough Refraction and Distortion enabled, the color buffer includes all transparent GameObjects.
- With both Rough Refraction and Distortion disabled, the color buffer includes all transparent GameObjects.