David Bullock did a breakdown of his Pine Wood Garage scene, discussed his texturing workflow in Substance tools in detail, revealing his approach to creating blend masks in Substance Painter, and talked about scene assembly and composition.
Hi there. My name is David Bullock, I am from the United Kingdom and currently living in Finland looking for an opportunity to get into the games industry. My game background started over 7 years at Wakefield College, where I learned how to 3D model. I then went on to study Computer Games Art at Teesside University.
I was stuck in a rut with my personal work and struggling to find employment, so I decided to pursue a mentorship with Billy Matjiunis who is part of the Mentorship Coalition.
I’ve always had an interest in miniatures - people put a lot of love and effort into their craft.
I was mainly inspired by this diorama. It has a lot of depth to the scene with schematics, work in progress images, and a range of photos from different angles.
I broke down the diorama and gathered more reference for unique assets and materials, such as the gravity gas pump.
Creating the Main Building
I started off the basic blockout, using the schematics in 3DS Max. I then brought it into UE4 and then applied flat color materials, to get an overall feel for the overall colors and composition.
Using Substance Designer, I made some basic materials based on the reference I gathered previously. I made those materials relatively simple so that they could be modified by a master material in UE4. For example, the front of the building uses 2 different materials, a wooden plank, and dust. The color, roughness, and metallic features of the materials are all controlled in the engine.
Once I’m happy with the formation of the planks, I then went back into 3DS Max and applied the finished material to the front of the building. I then cut and extruded out the plank shape into the mesh, to give it a more interesting silhouette.
Once that is finished, I brought the mesh back into UE4, where I would use a blend mask to control the color, wear, and dirt of the material.
I will explain my workflow for blend masks later in the article.
Working on the Details
All my modeling is done in 3DS Max, there's nothing really complicated about how I model my props. It’s just basic polygon modeling with high-to-low bakes. If the model is going to be textured using blend masks, then I just create a mid poly mesh with face weighted normals. You can find more about it here. This is the script I use.
I followed a slightly different process when making the keys. They were going to be placed on the wall so they didn't need to be a complicated mesh, and I could get away with just baking them down onto a plane.
I modeled a few key variations and placed them over a plane as you would do for a high to low bake. I then brought them into Substance Designer where I baked out an Opacity, AO, Normal, and Curvature map. Substance Designer is the only software package I own where I can bake opacity from a mesh.
I then brought the plane and the maps I had baked out from Designer into Substance Painter and then applied so basic preset smart materials to the plane, and that's how I got my finished keys.
I used a wide range of resources when it came to texturing my scene. I made a range of basic materials in Substance Designer such as metal, plain wood, and paint. I then used photorealistic images from Megascans and other texturing websites, which I edited in Designer and Photoshop. These made up a library of materials for my blend mask setup.
I learned the blend mask workflow for the project. It's essentially RGB packed black and white masks, that allows me to blend between 2 or more separate materials in the engine. It saves a lot of time because you don’t need to create unique textures for every asset and allows you to switch between materials quickly.
When it comes to modeling the assets, I didn’t use unique baked normal maps so to give the mesh smooth edges, I used chamfers with Face Weighted normals.
I also used 2 UV channels, the 1st sets the Texel Density of the asset for the tiling blended materials and the 2nd for lightmaps and creating unique blend masks inside Substance Painter.
Creating a Blend Mask
To create the unique blend mask in Substance Painter, I first duplicated the mesh and then, with the duplicate mesh, moved the 2nd UVs into the 1st UV channel.
Creating the mask is pretty simple in Painter. I started out masking out separate materials such as and then worked into masks for edge wear and smaller details. For example, when it came to my Oil Lubester, exposed metal would be in the R channel, Oil in the B channel, and ground dirt in the G channel.
For extra details, that would be normally done through unique texturing, so things like welding marks, nails, knurling, etc. I used trim sheets assigned to mesh decals, which I also used for additional details such as logos. They have a separate material ID for when they go in the engine.
The material setup in UE4 isn’t too complicated, it’s basically blending one material layer into a second with the Blend Material Attributes node and then using the RGB Mask from Substance to mask out the blending materials.
Learning the Blend Mask workflow has definitely improved my environment creation process. Being able to change and tweak materials on the fly really does increase the iteration process - I found that it was the most effective for the architecture, fixtures and larger props.
Scene Assembly and Composition
When it came to set-dressing my scene, I used the diorama as my main source of inspiration. It was one of the main reasons I picked this specific diorama because it was packed full of details.
I also added my own story to the scene, trying to imagine who would live there, and show their day-to-day life. For example, coffee mugs left around the garage and tools left scattered across the table.
I was inspired by the lighting in the Joakim Stigsson Golden Gasoline scene, I set a personal goal of reproducing different types of day.
To make things easier and cleaner, I used 2 lighting scenarios, one for the day and one for the night. With sub-maps that only contained assets for scenarios. Lighting scenarios contain baked lighting information for level, meaning I don't need to rebake my lighting when I switch between the day and night scenario.
When it came to the actual lighting of the scene, I avoided using fake bounce light and instead relied mostly on the directional light and the HDRI skylight. For the night scene, I relied on the artificial sources in the scene.
I did very little in the post-processing, mainly boosting the bloom and AO, and adding a LUT for the final touches.
The overall project took me around 4 months to finish, though the last month was mainly polishing and tweaks. Some of my bigger assets required me to make multiple iterations to achieve the look I wanted, such as the workbench and the tractor. For example, with the tractor, I remade the tires to make them look chunkier and also retextured painted areas to add a breakup in the roughness.