Creating a Beautiful Level in Unity

Using the High Definition Rendering Pipeline

With my learning path through the different rendering pipelines complete via the sci fi room, it was time to put the knowledge to the test and create a small office den from scratch. I opted to continue using the High Definition Rendering Pipeline (HDRP) as I really like the use of the extra features such as Decals and Light Cookies. Through the GameDevHQ program and Filebase I was provided with a starting room.

From here, I browsed Filebase to accumulate a range of suitable props, then began populating my room. I particularly wanted to create a sense of clutter and mystery, and achieved this with miscellaneous objects strewn around, cardboard boxes. I also angled the coffee table and rug to show it’s not an immaculately clean space.

With the room full of objects, I could start looking at how I was going to light my scene. First and foremost, light props were needed for realism, a few lamps, some wall sconces and a ceiling light fit the bill. The texture of the ceiling light seemed very worn out, especially with editing the emissive texture, so I decided that this was broken, hence the lampshade in the centre of the room. I also added a fire particle system to the fireplace to later emit light.

With the props in place, the first step for lighting the scene was to create an environment. This room has a few windows, so I wanted a sense of outside light coming in to the room. I created a Post Processing Volume for my sky elements, and crafted a Visual Environment along with an HDRI Sky cubemap from the Asset Store to create a twilight-like sky. I then added a small amount of fog to represent a bit of haze.

With the room slightly illuminated, I needed a main light source. This consisted of a mixed point light in the lampshade, with just enough radius and intensity to touch the edges of the room.

To add realism to this light source, I created a Light Probe Group and set my walls, ceiling, and floor to static, to allow for the light to be baked so the ‘dynamic’ props in the room could receive light data. This meant that my lamp’s illumination was essentially bouncing off the objects in my scene, just as a real light source would. This is especially noticeable on the left hand side of the screenshot below, with the books being more visible than without the light probe active.

In addition to this, I wanted to replicate ‘god rays’ coming in through the window. To achieve this, I blasted a spotlight through the space. But I had added blinds to the window, with shadows enabled, they kind of achieved the right look, but not quite, so I added a Lighting Cookie to further accentuate the light spilling between the blinds.

With my scene illuminated, it was time to enhance this with Post Processing. The main overrides contributing to the scene, are my Bloom and Ambient Occlusion, allowing for much warmer light sources and surrounding shadows, as well as Screen Space Reflections paired with a Reflection Probe to further distribute a bit of light.

I then added extra detail to the scene with a bunch of decals to add wear and tear, using the fade factor to blend them in with elements like the ceiling.

For a finishing touch, I found a free dust particle sprite sheet, and set about crafting a particle system to spread these around the corner of the room near the god rays. It adds a really subtle effect depending on the viewing angle, but helps to make the scene look alive.

It has been super useful learning a bunch of basic functions of the different rendering pipelines. Being able to easily craft beautiful visuals makes for a much better medium to create immersive audio experiences from. While this scene is a bit small, and better suited to still images, I’m looking forward to turning my sci-fi level into a short demo experience in the near future!




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

Recommended from Medium

AWS VPC with subnets and NAT gateway using Terraform

Smart Image Resizing in Python

Build Better Software By Going Farther Together

Setting up SublimeText for Competitive Programming for C++ on Ubuntu & Windows

Bloomberg — all about new-grad Software Engineer Interviews

TiDB 4.0 GA, Gearing You Up for an Unpredictable World with a Real-Time HTAP Database

Advent of Code 2020, day 13: number theory (in Haskell)

How to Reduce the Chances of an Outage

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

Screen Space Reflections In Unity

Layered Lit Materials In Unity HDRP

Installing Unity & getting started with game Development

Getting a Clue with GetComponent — Script Communication in Unity.