Robert Roeder did a breakdown of his amazing 3d environment, which features awesome 3d lighting, great material work and complex assets.
What happened since the last time
First off I’m very glad to get the chance to write another article about one of my projects. Since the last time, a lot of things happened foremost, that I was fortunate enough to win an internship at Ninja Theory for 3 months with a competition conducted by The Rookies. After the announcement of the winners in July, Ninja contacted me asking for an interview to see if I’d be a good match for the company. Everything went well and soon after that I moved to Cambridge. I had a great experience working and learning from the most talented people I’ve met and gathered a lot of new tricks to get way faster and better and, of course, I had the chance to work on some very interesting things during my time there.
About the Project
In some sense, this scene is the continuation of the last project, but they’re only connected via the idea of a story based interior. This time around, I spent more time in pre-production to figure out what story I want to convey and how I can give more or less subtle hints. Quickly this project turned into a little homage to the first game I’ve played as a child. Maybe you can spot it? One clue I can provide you with is to take a closer look at the fireplace. There’s also more in the scene that tells you exactly what game I reference to, but you’re free to interpret the image as you like. Also, this time I wanted to hone my skills with different types of surfaces such as: the smouldering ember, Sub Surface Scattering for the curtains, refraction in the different types of glass, rendering fur, using displacement on the rug and the brick material and I wanted to create more efficient and also higher quality meshes and materials.
I like to draw a lot of inspiration from movies such as Blade Runner, Pulp Fiction, and many, many others, but also classical painters such as Rembrandt, or Caravaggio and also modern photography where I like to use Instagram and Pinterest to find really great resources. Usually I take a day to only gather images I like and try to learn a bit more about color, composition and lighting. During that time I asked myself the essential questions to determine my story and my scene:
Where is the scene located?
What time period does it live in?
What kind of space is it? Is it an interior or outdoor space or a mix of both? What kind of architecture is it and does it follow the trends of its time?
After I answered all these integral questions I started to sort the stuff I gathered and search for more specific references, for example: What kind of fireplace I wanted and what it should look like. Also, I normally try to find some architectural drawing, most of them have correct measurements which makes it a lot easier to determine the scale of the environment if you haven’t been at a place like this before.
I’ve started to work on this scene during my time at Ninja Theory and beyond. Since I had normal working hours and also a personal life (as small as it might be) I only had a few hours a week left to figure out all the pieces of the picture I wanted to make. So I spend some time to block in shapes to find my composition which took me quite some time since I wasn’t fully satisfied and I was playing with the idea to make it in real-time that I set aside for now to make something as good as I possibly could, still keeping in mind to work as efficiently as possible to conserve my time. My process was a little convoluted and from time to time I got carried away by things I wanted to try out such as the couch, I made in a very early version to see if I’m even able to model that kind of furniture. Also, I worked on a wood planks substance since I knew that most of my interior would be based on that kind of material.
So after I made my basic Blockout and lighting I brought everything to Unreal to go further down the path of a real time environment and expanded the original image to a whole room and spent a lot of time to make all that, even started to create more detailed things such as the bookshelf, the railing and the circular staircase, but very soon I realized my time was running low and university stuff got closer so I made
the decision to condense the whole thing down to a single shot, but I didn’t cut down the amount of details I wanted to have since this was the whole purpose of the environment and I made the final Blockout and decided to scrap the couch and use a pair of chairs instead. With a just a single shot in mind the whole scene got a lot more controllable and I could set myself a time constraint to finish it by the end of January.
These 2 images show how far I went with the whole room before I trimmed it down:
So the blockout was a little like a breathing organism that contracted and expanded until I locked it down to full production.
Here is a comparison between one of the first blockout (I just replaced the cube couch with the test I made) and the final I went into production with:
After I finished my internship at the end of November I had 2 months to get this project done as well as to do some pre-production for our graduation project and to get as far as possible with my thesis.
Knowing which assets I want, I roughly planned out how much time I can contribute to every object. Some of them were already close to be finished during the Blockout phase since I knew I wanted to have them anyway and I needed a little time to focus on something else to evaluate my blockout scene objectively. So the guns, the smaller table, the recorder and the box were pretty much finished.
Most of the objects were done in Maya with varying time exposure. For instance the table next to the chair, took me around 4h (mainly the legs) and things like the chair and the fireplace about 3 days trying out different things in Maya and ZBrush. Something I talked about in the last article is to use splines to create the outline for all of the detailed edges on my objects, this is something I took heavy use of this time around again.
Also, I made a little breakdown for the chair. You can also download it for free here.
Since I knew that the predominant color for this interior would be comprised of wood materials I decided to use Substance Designer to create a graph for wood planks and used this as a basis to create one variation for for the herringbone pattern on the floor and the other for all other wooden objects while I kept in mind to have no seams on the planks since it would look odd to have panel seams on the pole of the lamp.
I knew I didn’t have the time to texture every asset with the same amount of detail so I decided to use a few shader tricks in Redshift ( but these tricks work with every rendering software I used so far). The first thing I took use of is the Tri-Planar node. It basically lets you use your textures without UVs… so, no seams. I took advantage of mainly two nodes to create the dirt and damage on my wood materials. In Redshift there is the Curvature node that gives me the option to mask concave and convex forms. Another node I used on some shaders is the Ambient Occlusion node that works similar to the concave selection of the Curvature but on some objects the Ambient Occlusion gave me better results. With these 2 methods I could select all the transitions with a certain threshold, but that on its own would have looked too procedural so I multiplied the results with a random grunge piped through a Remap Values node to tighten up the grunge easily and adjust my wear and tear.
I used these nodes to drive masks for a material blend with very basic materials for dirt and a lighter version of the wood material that turned out pretty good. This way I saved a lot of time on UVs and building masks and had more time to work on the important assets.
There is also a great tutorial on YouTube that explains everything you want to know about these techniques:
In the other videos on his channels he goes through everything you need to know about Redshift.
The way I use lighting in my scenes is heavily connected to the story I want to tell so normally I have a base scenario in mind with some main colors and as I progress with my blockout more and more ideas come to my mind, how to compliment the composition and balance bright and dark values, as well as colors I could ad to break the dominance of one color or one pair of colors. In the case of this shot I have a tone of brownish red tones due to the fact that I set the scene in a classic British manor. That’s why I countered these warm colors with the outer environment based on a light blue that I even enhanced with the wall light that brightens up the snowstorm and brings in that hazy blue in the back of the room.
To get another color in the scene I knew from the beginning that I wanted to have this green reading lamp and later I added these heavy curtains also in green even though I played with different patterns and colors (mainly based on red and yellow) but they felt very busy so I went for green to have something that works together with the rest of the composition.
As I said my lighting is grounded in the scene and the story, this way it felt natural where I had to place my lights and how I reason to have them. Every time I try to brighten up a part by placing a light close by it feels off so I try to arrange my artificial lights in a way they make sense and work for the scene. I think the human mind subconsciously notices if a light or shadow makes no sense and influences the perception negatively.
Thinking about what challenged me the most with this environment, there is one thing that stands out amongst all the difficulties I had. Getting the fur to work the way I wanted was definitely hard for me and I tried a bunch of things that you can also see in the little breakdown I prepared:
I used a plane and a cloth simulation in Maya to drop it on the chair and took it to ZBrush to populate the fur on it with Fiber Mesh first. Then I exported it as an OBJ but this way I was not able to use the Redshift Hair Shader so from time to time I tried to get a fur-like look with the standard material, but that didn’t really work out and I searched for different methods to get the fur to work. In the end, I noticed that I can export curves from Fiber Mesh and attach them to nHair to drive them as Input Curves which worked in the end with the Redshift Hair Shader after a lot of tweaks.
Another thing that bugged me for some time was the snowstorm. Since I’m absolutely lacking any knowledge when it comes to particle simulations I tried to force myself through it, but in the end I used snow cards to fake the effect.
Also, I would like to thank some of my friends and former co-workers for giving me great feedback to improve this project.