Post-Processing and other Environmental Effects in Unity

Note: We realized yesterday that we lost some recent posts due to a server error. Over the next few days we’ll be working to restore those.

We’re now at the point in the project where the team has modeled and applied materials to several historical objects. When I teach students how to build models for virtual reality projects, I have them focus on wire-frame geometry and we map out places where we will apply materials to in the future. We build those materials in Unity and give said materials values that have them behave like glass, metal, wood, etc. They just don’t always look like these materials until we’ve added some environmental effects.

So sometimes, you spend a lot of time building objects like this and their appearance isn’t very satisfying yet:

A 3D rendered scene including three cubes: a glass, mirror, and wooden cube, centered in a room with white walls and green floors.
Screenshot of Unity scene before we’ve applied reflection probes and post-processing effects. From a tutorial given by Jessica Linker and Liam MacLean on 6-17-21.

Yesterday we showed the student team how to add some layers of realism with reflection probes (Unity objects that determine what is reflected in reflective materials) and by building post-processing filters to augment what the main camera sees. The main camera usually determines what the user sees when wearing a virtual reality headset to view a project immersively.

Here’s what the same scene looks like with those objects installed and some of those effects applied:

Screenshot of the previous Unity scene with reflection probes and post-processing effects applied. From a tutorial by Jessica Linker and Liam MacLean given on 6-17-21.

I was aiming for a hazy look, as if someone had groggily walked into a room and encountered three mysterious cubes. The students were asked to imagine a way to style the scene using what they learned. We ended up with a range of different looks for the same objects, from an underwater look, to a retro video game look, to a spooky, shadowed look, and so on.

I often tell them that the trick to a lot of this is to let Unity do the heavy lifting. Also, post-processing can take the same scene and change the mood quickly. It’s much better to algorithmically update the values on a post-processing profile than it is to try to swap out textures for every object in a scene to create an atmospheric mood.

Some of these effects don’t always play well in VR, but that’s something we’ll fine tune when we have an assembled project we can playtest.