Why are Screen Space Reflections Unique?
Objective: Learn what Screen Space Reflection is, and a simple way to add them to your project.
Screen Space Reflection is a method for calculating reflections by reusing screen space data. It is frequently used to produce subtler reflections, such as those found on damp surfaces. What makes them so unique is that they actually use the data found around your scene(or selected area), to depict reflections with more fidelity by projecting your environments.
In the image below, you can see how enabling Screen Spaced Reflections really transforms all the reflections in the room. If you take a look at the column lighting, you can see how it accurately reflects on the floor in both appearance and position.
Be aware that Screen Space Reflection is an expensive thing to use in your project and it’s not recommended for mobile games due to this. Since Screen Space Reflections depend on the Normals G-Buffer, you can only use them with a deferred rendering path.
Adding Screen Spaced Reflections
Note: You need to be in an HDRP Project Template to follow along this example.
- Add a Reflection Probe, we’ll be using this to set up the screen space reflection later on.
2. Modify the base of the probe by clicking this icon
Then drag the box to fit the size you desire. Here I am making the box as big as the control room.
Note: It helps to use top and side views to properly size and position your Refection Probe.
3. Check the Influence Volume box.
The Influence Volume identifies the region surrounding the Probe where reflective materials can modify their surface’s reflective behavior using the data the Probe collects.
4. To enable Screen Space Reflection, go to the settings folder → HDRP (HD Render Pipeline Asset) → scroll down to reflections and check the Screen Space Reflection box.
Make sure all the following settings are checked as well.
5. Create a global volume
Go to your Settings → HDRP Default Resources → and drag the DefaultSettingsVolumeProfile to the profile section of the global volume. If dragging it doesn’t work, you may need to click the “New” button instead.
6. Add a Screen Space Reflection Override to it, this will let us access everything to do with manipulating Screen Space Reflections.
7. Click on All in the Screen Space Reflection override you just created so that we can alter the parameters.
Note: To read about the effects of each parameter in-depth please refer to the official Unity Manual.
8. Manipulate the parameters to get the desired result.
Here you can see how the parameters I altered affect my scene.
These are the parameters I focused on
The Result
Thank you for your time! If you found this information valuable give me a follow! :) I document my learning journey into Unity Development and Software Engineering in the form of tutorials!