Using ZBrush+Substance Designer Combo to Create a Brick Material

Anastasiya Osichkina has returned to tell us about her recent project called Mixed Bricks and talk about working in Substance Designer, ZBrush, and Marmoset to create wonderful materials.

Introduction

Hello, everyone! My name is Anastasiya Osichkina and I work as an Environment Artist at Jyamma Games. Since my last interview, I have dedicated all my time to developing new skills and becoming a better all-around Environment Artist. Right now I work on several big personal projects, trying to push myself even further. 

Substance Designer has become my comfort software, I really enjoy spending time in it, experimenting and testing different pipelines. Still looking forward to testing all the fresh features of the newest release of Adobe Substance 3D, but I already feel that Painter and Designer have become much faster and smoother! 

Reference Gathering

Every project starts from gathering references and this one was no exception. I wanted to make an interesting material and take a break from big projects I work on at the moment. So I looked through my Pinterest board where I collect interesting surfaces. This brick reference was there for quite some time and finally, it was its moment to shine. Always nice if you have the opportunity to learn more about the surface you’re making. I have several articles about this brick I’ve chosen. The building technique for this one is called Wa Pan. It uses materials from abandoned buildings such as bricks, roof tiles, ceramic bricks for fast reconstruction and reusing in new buildings. I didn't have many references, but they are good quality and enough to understand how the material should look like! 

Choice of Pipeline and Initial Setup

For this project, I wanted to train a combination of ZBrush and Substance Designer. Part of my initial setup is done in 3ds Max. I’ve created a super rough blockout of tiles and brick shapes using splines and simple boxes with reference pictures on the background. My idea was to choose the most interesting parts of references (like piles of roof tiles, orange bricks, etc.) and combine them into a mix between different references. After blocking everything I planned I simply imported models into ZBrush.

It’s important to decide from the start how detailed you want your surface to be and how much work you’ll be doing in ZBrush. My idea was to arrange patterns and sculpt edges/chips in ZBrush and work on the surface noises, small pits, and cracks in Substance Designer.

In ZBrush, I’ve imported my blocks from 3ds Max and started scaling and arranging them. It’s a long process for texture like this but it’s important to understand the final look of the surface and test tiling early on. I work in the center of coordinates with a plane 1x1 meters behind bricks for reference. I always start arranging tile texture around the edges and then work on the middle part. For offsetting parts that will be repeated, I use Deformation Offset in ZBrush.

After the blockout is done I’m working on sculpting. I kept sculpt super simple: using alphas, orb_FlattenEdge brush, and Trim brushes (Adaptive and Smooth Border) for edges. I didn't spend much time on small surface noises because it’s easier to control and layer in Substance Designer. Also, I didn’t sculpt mortar – for this type of surface, it’s easier to make it through SD. After everything is done I’ve decimated unique parts and did offsetting again. If everything tiles we are ready to proceed forward and prepare our masks for work in Substance Designer!

Masks and Bake

Before jumping into Substance Designer I’m checking what masks do we need for easy work there. Here’s a small list:

  • ID Color Map 01 – for random colors on all parts (with orange bricks selected)
  • ID Color Map 02 – for darker roof tiles/light everything else (according to reference)
  • Height (tested in ZBrush and Substance Designer – used ZBrush one)
  • Normal (tested in ZBrush and Substance Designer – used SD one, produced from Height)
  • Curvature (baked in Substance Designer)

For Color Maps, I used 3ds Max for assembling colors via materials (I made 2 versions of highpoly because we needed 2 different Color Maps). For random colors, the MaterialbyElement modifier (3ds Max) can be used! Bake for Color Maps was done in Substance Designer.

There are many guides on how to set up baking for tile texture in ZBrush, but here's a recap of the process once more! I prefer to collapse my final bricks high poly mesh (at this stage we checked again if it tiles, so no fixes past this point) and import reference plane (1x1m).

Then a few steps:

  1. setting up document size = size of our map to export (2k for me), if document scales wrong ctrl+N and drag your mesh again for normalizing everything;
  2. Turn off dynamic Perspective;
  3. Zoom out the canvas to see your texture;
  4. Highlight the plane in subtools, press F to frame your texture correctly;
  5. For baking Height map simply go to the Alpha menu and click GrabDoc - Export.

After importing all ready maps and baking others in SD we move further to setting up our graph. Setup in Substance Designer for color ID masks consist of two parts: The 1st one is random colors: I combine node Color to Mask (1 node for every color) through blending till the final Grayscale Map (also using extra for orange bricks/tiles), 2nd - just 2 nodes: for darker/lighter stones. There are easier ways to make grayscale from a colored map, but with this approach, I have total control over every color and as a result of every brick connected to that color. 

Height Map

Making a Height Map is the most crucial part of the whole material. I’ve used a Height Map baked in ZBrush with details layered over through Substance Designer. Here I worked on small surface imperfections, cracks, and mortar. Surface details are mostly a combination of different noises, grunge textures, moisture noise, and clouds. I always try to push all my noises through some randomization with Directional Warp, Blending, and Warp. Also here I’m adding some cracks and additional chipping for edges. These setups are nothing new, I’ve learned about them from Daniel Thiger’s Fundamentals Tutorials series. They work great in every new material, it’s super nice if you have cracks/chips setup done and just drop them from one material to another with some changes. I also reused my old mortar set up for this project with some alterations according to the new material.

When I’m done with most of the details I blend mortar with bricks through the Height Blend node. Here’s my setup of mortar and blending.

Color and Roughness

Creating a Color Map is the most fun and creative stage in my opinion. It’s where you can really push some experiments and discover new and interesting combinations. Usually, I start coloring by checking my reference once more. I was lucky to have mine in neutral lighting so I can pick many colors from the reference itself. In terms of coloring, I prefer a slow approach: I put layers of color one by one, separate for basic coloring and colors of imperfections.

Besides that I try to prepare some masks before adding colors: for crevices, peaks, shadows, dust, leaks, staining (mineral salts on surfaces for example). I’ve found it’s easier to have the library in Substance Designer always opened (noises and Masks generators), so you have quick and easy access to them. Moreover, when you have these patterns always in front of you it’s easier to pick some for experiments and try to blend them between each other (especially if you don’t remember the names of every noise out there). Also, I often use such nodes as Curvature Smooth, Curvature Sobel, RT Shadows, and Ambient Occlusion (in my case RTAO) while doing colors. They can help achieve super nice results, I suggest trying them out and doing some inverts and blending with them. Here are some masks I’ve ended up with after some tries and experimenting. 

As for colors themselves, I start with the Gradient Map Node but I color flat surfaces as an initial step (the other option is to color curvature smooth or even height, but I think it takes out a lot of control from your hands). I take colors from reference and tweak them in between, blending with the HSL node. Then I'm adding new colors and textures layer by layer (I’m blending Grunge Maps and noises again with an additional Directional Warp). Here are some of my setups.

Closer to the end I usually add some details that make the surface more believable such as mineral stains and lichen. Always remember to be careful with small noise details so as not to overload your texture. The solution for that in my case is to make a mask showing exactly where I need those details (thanks to layered Color Map it’s an easy task).

As for Roughness – it's a simple combination of Curvature Smooth, levels, and some noise from the color stage.

Throughout the process of making the Color Map, I was comparing my result with reference. I've really liked the blue-ish shade of grey bricks mixed with beige +  paint-like surface of bricks. So I tried to make it that way: I didn’t use simple grey for base coloring, everywhere I tried to add a small amount of color splash, even for mineral stains. Also, it was important to support bright orange bricks with warm color on bricks/mortar for the harmony of the whole texture.

Rendering

For the final renders of my texture, I’ve used Marmoset Toolbag. I did renders of a classical sphere with texture and some renders on a plane surface. 

As for sphere render, I used geometry from Substance Designer. I like to use colored lights for Rim Lighting on edges and one of the basic Marmoset HDRI. Here are some settings I’m using on almost all of my Marmoset renders.

I’m trying to not overdo coloring/sharpening inside Marmoset because I always work on my renders in Photoshop afterward.

For closer renders I’m using a similar setting but I replace lights with Spot type, they give more interesting shadows and I like the cone shape of light they project on the surface. I decided to go with warm, sun-like color in this case. Also here I turn on Depth of Field and Chromatic Aberrations for a more realistic look of render. 

Final Thoughts

The Mixed Bricks project became a great experience and a big level up on my path of Substance Designer learning. The decision to use ZBrush and practice this powerful combination ended up really great. I’m sure it’s possible to go fully procedural with this type of material, but often in production, the choice is on the side of fast and efficient.

Substance Designer is one of the most creative and interesting software out there, possibilities of it are almost infinite. That’s why I think that part of learning how to use it is to be creative and not be scared of experiments. If you are a total newcomer to this software I suggest you learn the basics and common nodes out there, then practice on some simple materials. Also my advice: when repeating surfaces after any tutorial, try to add some of your personality to it, make it more catchy. There are plenty of red brick walls out there, but yours could be painted with pink and yellow stripes or been affected by constant water leaks and moss! For your personal projects try to choose really interesting surfaces (interesting doesn't always mean complicated) and go ahead with it. It’s way more fun to work if you are inspired by the things you’re doing.

Thank you 80 Level for the opportunity to talk about this project! 

Anastasiya Osichkina, 3D Environment Artist

Interview conducted by Arti Sergeev

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