Recreating Stranger Things' Rainbow Room with Houdini & Unreal Engine 5

Matthew Quickel shared the working process behind the Stranger Things Rainbow Room project, explained how the procedural nature of Houdini influenced the scene, and showed the lighting setup.

Introduction

Hello there, my name is Matthew Quickel. I’ve been passionate about art and animation ever since I was little, and my childhood dream was to work for Disney one day. When I was in high school, Toy Story 1 and 2 were released, inspiring a new obsession with CGI. As a result, I spent my evenings trying to learn 3D Studio Max 2 on my own. Eventually, I got a bachelor’s degree in Animation but found my love in environment art after becoming fascinated with the idea of creating spaces that told a story.

In tandem, I have always been a fan of video games and it just happened to be in this Venn diagram of interests and skills that I landed in 3D game environments. In the past, I have contributed to the F.E.A.R. franchise, Elder Scrolls Online, and Civilization. I was also an instructor at the Art Institute of York and am currently a Lead Environment Artist at Firaxis Games.

The Stranger Things Rainbow Room Project

The Stranger Things Rainbow Room project was formulated while I was watching season 4 of Netflix’s hit show this past summer. My Lead responsibilities at work were reducing my capacity for production time, and I wanted to continue diving into Side FX Houdini more regularly. Like most people, my time, in general, is limited so I wanted something bite-sized to work on. While watching the show, I thought the structured nature of the space and props seemed like a reasonably sized project to practice my skills. I used PureRef to gather a variety of stills from the show in order to dissect the space and gathered references for other props inspired by objects in the show. 

Modeling

The choices I made when creating the room and props revolved around the procedural nature of Houdini. The show already provided most of the information in terms of layout and composition, but how I approached building assets would need to be different. I’ve been modeling standard environments in 3ds Max for decades and knew the modeling aspect of the space would be straightforward if I went that route, but I wanted to dabble in more technical areas and develop pipelines and strategies that make iteration more palatable. 

Regarding the room itself, I wanted to iterate on the scale of the space inside Unreal Engine without going from a traditional DCC program to the UE. I made a Houdini HDA for the room geometry and exposed all the parameters to adjust on the model inside Unreal, using Houdini Engine. Everything from the width, length, and height of the room, including the number of lights and their size, was adjustable and supported full procedural UV adjustments and material connections to the Engine.

By establishing this method of building assets, something such as the rainbow decal on the wall is fully connected to the changes made upstream. If I change the size of the room, the rainbow decal adjusts automatically in modeling and UVs without any additional work.

Another example of this can be found with the desks and tables. I set up a node graph so that individual parameters were exposed in the Engine and ensured the changes were affected downstream. I could adjust the size of these props or attributes, like the thickness of the rungs, or their distance from the corners, inside Unreal to art direct the scene.

The rubber toy is simple in form but could easily result in a bunch of back and forth if I wanted to change the overall size and shape. In fact, the toy was originally too squat when I blocked it, but because the setup I built automatically generated pixel-like boxes onto a grid and matched the shape, I was able to adjust the base mesh and, as a result, the boxes filled themselves appropriately. The node stream can generate both a high poly with bevels and an auto-UV low poly. Anytime I had to make an adjustment, it took seconds to get the new shape into the Engine.

Various plastic cases were needed in the scene to fill the shelves, so I made a basic case generator with parameters I could adjust in real time. I knew these cases weren’t going to be a major focus, so I limited the number of adjustments. It’s easy in Houdini to make a system much more complex than you need and that’s something I would warn first-time users to be cautious of.

Texturing

Most of the props in the scene were created with a traditional PBR workflow using a high poly and low poly mesh in Marmoset Toolbag 4. Some of the procedural assets required special setups, which I developed with Houdini HDAs. I didn’t want to get too down-in-the-weeds creating custom textures since most of the scene features rather simple materials. For the most part, I went heavier on the wear and tear than the filmed scene because I found it more interesting. To play more with lighting, I also made the materials a bit shinier than the real set.

For the procedural room, I created a series of blockout textures to procedurally UV map the room elements inside Houdini. Once the system was in place, I created the final materials and everything came together quickly.

I used a combination of Quixel Mixer for some of the surfaces and Substance 3D Painter for most of the props. Primarily, I used the built-in materials inside Painter or surfaces I had exported from Mixer with subtle layers and masks. From my experience, Substance 3D Painter is simply more robust than Mixer when it comes to layering and masks. 

I also used a few tricks in Unreal, such as blueprints, to control the wooden block colors through the shader. Additionally, I used the world UV mapping for the floor and decals so that no matter where the decal fell in the room it matched the vinyl floor pattern beneath it.

Lighting

For lighting, I wanted to dig my heels into Lumen and naturally chose to use Unreal Engine 5. My experience has mostly been with proprietary engines and it’s important to not lose touch with off-the-shelf software capabilities. As a result of how powerful Lumen is, the lighting in the scene is completely done with dynamic moveable lights. The show’s lighting, of course, provided a great direction to use as a reference for my scene, which I would describe as a sleepy, somewhat creepy, and depressing vibe found in a lot of 1980s locations but as I went along, I pushed my lighting slightly more cinematic, with more contrast overall but especially in the center of the frame. In the final hour, I adjusted the post process volume to include more warmth in the dark areas, inspired by photography from this time period over a strict 1:1 of the show stills.

Conclusion

Aside from trying to find time between work and home life to create and polish this project, it was both challenging and rewarding to use Houdini to make the rainbow room. There is an addictive quality to the software, and I challenge anyone who is willing to wrestle with it to give it a shot (there is a free apprentice version). It is especially rewarding to create something in Houdini and then use Houdini Engine for Unreal to fiddle with your models in real time.

Lumen was also nice to have at my disposal but I did run into several issues using it in 5.0. It took quite a bit of trial and error to get it to do what I would expect and I found a number of instances where I had to do something unconventional to get it to update properly. I’ve seen articles that suggest Lumen works better in 5.1, but for now, there are limitations.

My advice to fellow artists, coming from both an education and an industry background, would be to find what inspires you. Making art is hard and finding time to create can be even harder. It’s difficult to finish a project if you’re not interested or invested or you’ve over-scoped it. I am personally inspired by learning and am never content using the same software to create the same things, which is what always has me thinking, ‘What’s next?’ I have found that artists who have ‘the itch’ are never satisfied unless they are creating or bringing environments, characters, and visual effects to life. 

Lastly, I want to give a shout-out to my friend Dean Scott. He has grown with me on my Houdini journey and lets me bounce ideas off him ad nauseam. Thanks, Dean! Additionally, thank you to my family for always being supportive of my creative time and to 80 Level for bringing exposure to the community. 

You can find my works on Blogspot, Instagram, Twitter, and ArtStation.

Matthew Quickel, Lead Environment Artist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more