Awesome
Unity-ScreenSpaceReflections-URP
SSR solution for Unity URP. Supports Linear Tracing and Hi Z tracing. The package includes SSR render feature and Hierarchical Min-Z Depth Buffer render feature. Created by Joshua Lim
9/10/23 4.2.0 - 4.1.0 changelog
New Features
- Improved glossy reflections
- Added downsampling settings for hi-z trace mode
Support this project
Images
Installation Instructions:
Instructions:
- Copy: "https://github.com/JoshuaLim007/Unity-ScreenSpaceReflections-URP.git"
- Go into the package manager in unity
- Select "add package from git url"
- Paste the link into the text entry
- Press "add"
Requirements:
- Unity URP 12 or newer
- Unity 2021 LTS or newer
In your URP Asset
Tracing Modes
-
Linear Tracing
-
Hi-Z Tracing
Hi Z tracing requires "Depth Pyramid" render feature to be added in the pipeline asset. The Depth Pyramid is included in this package.
API:
Changing settings during runtime
void LimSSR.SetSettings(ScreenSpaceReflectionsSettings o)
-
o.StepStrideLength
= The length of each ray march stride. Increasing this will reduce image quality but allow for further objects to be visible in the reflections. -
o.MaxSteps
= The number of steps the shader does before ending the ray march. Increasing this will allow further objects to be visible in the reflections but reduce performance. -
o.Downsample
= The number of times the working resolution is downscaled. Increasing this will reduce image quality but increase performance. -
o.MinSmoothness
= The minimum smoothness of a material has to be in order to have reflections.
For the best quality, try to minimize
StepStrideLength
and maximizeMaxSteps
bool LimSSR.Enabled
True
: Enables effectFalse
: Disables effect
Enables or disables the SSR shader
static RaytraceModes TracingMode
Sets the tracing mode: Linear tracing, or Hi Z tracing
Known Limitations and bugs
- Wider apart the near and far clip plane, more banding artifact appears.
- Far reflections are inaccurate and have banding artifact.
- Transparent objects cannot have reflections.
- Transparent objects are not correctly reflected onto objects.
- Downsampling ssr on hi-trace mode causes it to break.
- Current fix for non-power of 2 resolutions causes warping around edges of objects with a reflection behind it.
- Hi-z trace cannot have camera facing reflections.
- No support for VR and Mobile devices
Resources and References
Screen Space Reflection | 3D Game Shaders For Beginners (lettier.github.io)
bitsquid: development blog: Notes On Screen Space HIZ Tracing
Screen Space Reflections in Killing Floor 2 (sakibsaikia.github.io)