Screen Space Reflections In Unity

and how they are unique!

Similarly to Light Probes, we can bake and emit reflection data. The most cost-effective way of doing this is to use Reflection Probes. Creating one places a sphere in the scene that acts as a central capture point, we can then edit a cube to enact the edges of the area the probe captures.

To ensure we make use of this box, and prevent reflecting infinite space, we need to check the Use Influence Volume box.

Straight away, we can see a huge amount of light being reflected around our scene. Not only does it add realism, but also illuminance!

Base Scene vs Reflection Probe

Personally, I find it to be a bit too much. Luckily, we can change the Weight variable in the Inspector, or for more reflection, the Multiplier variable.

Much more subtle!

If we look closely though, we may notice that the reflections in the scene aren’t very accurate. This is due to the information being sourced at the one central probe.

For extra realism, we can make use of a Post Processing Override called Screen Space Reflections. These reflections work by calculating the depth and color of objects within the camera’s view by using ray-casts. If the ray intersects with an object, it takes the previous frame’s color to reflect onto said object.

This is a much more graphic-intensive task, but the accuracy levels produce far better results. Although the main drawback is that objects not within view, will not have their reflections captured, therefore we should combine this method with reflection probes for the best outcome.

Reflection Probe + Probe and SSR

Notice we now have visible reflections relative to the emissive objects in our scene, such as our lights.

Just like with our Light Probes, we can use an Indirect Lighting Controller to alter the overall specularity and thus the reflections across the different probes in our scene.

With a global override though, we can still often find certain objects to be too reflective such as the desk below.

If we access the object’s material, we can manipulate the Smoothness Remap values to get a better result.

Between altering single materials, reflection probe’s multiplier and weight, and using post processing overrides, we can hone in accurate reflections within our scene.




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Data visualization using Drupal 8 and Angular 5. A practical example.

US Practice Management System — Software w/ Telehealth Reminders and More

US Practice Management System - Software w/ Telehealth Reminders and More

iOS Concurrent Programming

Odoo 12 Installation using docker on Mac OS Catalina (10.15.5) Indonesian subtitle available

Acceptance Criteria in Scrum | Agile Coach | Yaz Tokdemir

product plan ( united = EHDD (Eternal Hard Disk Drive) price 10,000 instead of 200,000 ) = 10,000 x…

python string rfind() method:

Filter Profanity and Swearing in Audio with Python

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Calum Slee

Calum Slee

More from Medium

Layering Materials In Unity

Getting a Clue with GetComponent — Script Communication in Unity.

UI Menu With No Mouse

How to Dolly/Track a Camera in Unity