Apocalyptic diorama - Part 2 - Texturing assets with Substance Painter
This tutorial will guide you through the process of creating a diorama that you will be able to interact with in your web browser. The tutorial will be split into three parts, I will use 3ds Max for modeling, Substance Painter 2 for texturing, and Marmoset Toolbag for creating the interactive scene and exporting to a web browser.
Other tutorials in the series
Step 1: Texturing the rusty car
With the car imported into Substance Painter you have to bake the maps in order for the smart materials to work correctly. You want to make sure you've baked normal, AO, Curvature, World space normal, thickness and position. Also bake at a high resolution (2048* should be good enough) for this asset. With the maps baked you can now drop the Machinery Smart Material onto the car. I then start by turning off all of the layers except the base and work from there. I changed the color to a sun bleached red but kept the roughness value low so it was shiny, we will build the dirt on top of this layer so it fits the design better.
Step 2: Aging the car.
To make the car more aged and weathered I added a fill layer with an even stronger bleached red, but this time I increased the roughness value to give the impression of a dull surface. This is applied to the whole car at the moment so to fix that I added a black mask to the layer which should remove the dull layer completely. Right-click on the mask and apply a MG Mask Builder Generator. This generator uses those baked maps to smartly apply details over the asset, using the curvature map for example. The material knows the more exposed areas of the mesh and so applies white in these areas revealing the dull material. As you can see in the image the dull red paint is applied on the top curves of the door.
Step 3: Applying the base rust layer.
Using the same technique as the previous step I added a rusty colored fill layer and applied a MG Mask Editor. With this layer, I added procedural grunge maps in the image inputs section of the generator. This added an extra layer of detail and made the rust generate in a more natural way. Because these are procedurally generated we don't always get the look we want. So, in this case, I applied a Paint modifier to the mask layer and this now allows us to use the paintbrush tool and particle brushes to paint in or out more rust detail.
Step 4: A second variant of rust
Not all of the car will rust in the same way because of the different metals and exposure. I added a Sunken Metal smart material to start off with and then went through and customized the layers to best fit the look of the car asset. I wanted a fine rust with some metal still showing through. I applied this material to the wheels and interior of the car.
Step 5: Masking tools
In order to quickly mask out certain areas of your asset you can use the masking tools. We have the option to mask via polygons, UV shells, meshes or triangles. I used Polygon Fill in this case and selected the polys I wanted to add the fine rust too. If you use a black color you can also remove areas of the mask. These tools are very handy and speed up your workflow.
Step 6: Shiny metal surfaces
I applied a steel Rust surface smart material; this material gave me a shiny chrome metal with rusty details to tie in with the rest of the car asset. Again, customize the layers so they bed in nicely with the rest of the car. While masking some of the areas of this asset it wasn't possible to use the polygon fill tool, so I had to rely on hand painting, which was okay but more time consuming.
Step 7: Dirt build-up
Now the metal work is complete I wanted to add a final layer of dirt and grime build up over the car. I added a dark grey fill layer with a high roughness value and removed the metal, normal and height values from the material as I didn't want to paint in this detail. After adding a black mask to the layer I painted in white using the Dirt paintbrush to build up areas of dirt. The corners and around the wheel arches were good places as well as the interior of the car. I tried to follow the natural areas of the body of the car where dirt would collect over time.
Step 8: Using particle brushes
Once I was happy with the dirt layer I used the 'Leeks Heavy' Particle brush and painted into the same dirt mask, adding streaks of dirt as if rain has washed away some of the dirt over time. You can also use a black color to subtract dirt using this technique, it helps the dirt look natural. This was the finishing touch to the car textures and it was now ready to be exported.
Step 9: Creating muddy terrain
For the terrain underneath the road I wanted a muddy material for the grass to grow out of. To achieve this I used a tillable mud texture with an accompanying normal map. Simply drag your textures into the Substance Painter texture shelf and apply a fill layer. Drag the diffuse and normal maps into the color and normal slots and adjust the roughness value to something quite rough, as I didn't want the dirt to look too wet all over. I adjusted the UV scale to 1.7 to get something that looked good without tiling too much.
Step 10: Creating puddles.
I wanted to add some puddles to the terrain to not only break up the terrain but add a lot more interest to the tiling mud texture. Having something as highly reflective as water in the scene will add a lot to the quality of the final image. I created a fill layer with a very dark blue color, then I put the roughness and metallic to black to create a reflective surface. For the height I went slightly negative so when I paint the puddles they drop below the terrain height a little. Using the dirt brushes with a sharper edge, I then painted in the mask to reveal the puddles.
Step 11: Finalizing the terrain material
To finish off the puddles I changed the opacity of the layer to revel the muddy terrain beneath it, which created a nice little effect giving the impression of actual depth to the puddles. This now completes the muddy terrain material and it is now ready for exporting.
Top tip 1: Flat puddle surface
The puddles need to be very flat in order to look like deeper puddles. Here you see my Normal map channel and you can see the flat normal area where the puddles are painted in. You may get an instance where you still see the terrain normal map detail affecting the puddles, this breaks the illusion so to fix this you can change the blending type of the layer from Nmdt to Normal. You may have to do this on both the normal layer and height layers depending on how you paint the height information. I changed the group to Normal blending mode to get the flat puddles you see here.
Top tip 2: Exporting to textures
When exporting your textures make sure you select the right package you intend to use to render your assets. In the config drop-down list there is a list of packages to choose from. The benefit of this is Substance packs your textures into the correct format to make the whole import/export process a lot simpler and less time consuming.