Ezequiel Delaney has shared the ZBrush/SD workflow that was used in making of Stone Wall PBR Material project and explained why it is important to not get stuck at the idea of making a material 100% Substance Designer.
Hey there! My name is Ezequiel Delaney. I am currently 21 years old and I study Graphic Design in Argentina. For a year I worked as a Branding Freelancer, building Logos and Websites for my clients. Almost two years ago I started to learn 3D art by myself and found a particular interest in it, as I learned different things.
Material Art was the one that amazed me the most, leading me to build a solid understanding of textures and how to use them. This way I eventually learn my way into Environment Art, another role I fall in love with. At the moment I am working as a Junior Environment Artist at Globant for AAA games building shaders, materials, and tools.
During my self-taught learning, I had to push myself out of my comfort zone several times, but the task that was really frightening for me was creating rocks. Several times I tried to build a rock-themed material, but I never managed to achieve the quality I was looking for. Until a friend recommended I try ZBrush for the Height Map creation and applying microdetail in Substance Designer.
This material is part of an environment I am currently building inspired by Skellig Island. On the island, we can find an old monastery built all from rocks. The main goal of this project was to create a Game Ready Material for my scene and to showcase a ZBrush to Substance Designer workflow.
The first step in my process is to search for the right reference, in this case, I looked through Unsplash, Pexel, and Pinterest where images will have a good resolution. I also took some screenshots from a documentary of the island I was trying to build, where they also explained how the rocks were placed so they could work against all weather. While gathering references, information is also as crucial as Images. Having a deep understanding of how the things we want to recreate are made in real life will help in the next steps of the process. For instance, in this case, I knew that making procedural rocks in Substance Designer wouldn’t be the best option.
To optimize the time spent, I started by building 4 to 5 boxes of different sizes. Each of these boxes would be sculpted into stones. I was planning to sculpt each face of the stones into different shapes, so I could reuse them several times and deform them when necessary.
Using Orb_FlattenEdge and Trim brushes I build some semi-stylized rocks, primarily to help myself focus on the big shapes first. Once big shapes are done, with the Trim brushes and Clay Buildup (with square alpha) I add some detail and shape variation into it.
When the stones were finished I decimated them to maintain detail but lower the polycount of the file. Once this was done I appended a plane, this is useful to focus the camera to take the Height Map of the sculpt. The plane is also a visual guide to see where we should place matching stones so the Height Map will tile.
Using the deformation tab I position the rocks on the border of the plane so I could first have the tilling arranged, big thanks to Dannie Carlone who published a post on tips and tricks on ZBrush which I used for this situation.
Mask and Maps
With the sculpt done, I must generate two maps out of ZBrush which will allow me to use as a base in Substance Designer to add more detail, the ID Color Map and the Height Map. For this, I had to set up the document in the resolution I wanted. In this case, it was 4K
Turn off Dynamic Perspective, zoom out the canvas, and choose the plane in the subtool tab so I can frame (F key) my texture correctly. After that, on the Alpha menu, I clicked on Grabdoc to get my Height Map and then export it.
In this case, I built the color map inside ZBrush. I had to build Polygroups which would allow me to Polypaint the stones depending on their assigned group, in this case as I wanted to have more control over it to use it as a mask. I decided to give all the stones different colors and group them inside Substance Designer. This Polypaint was then applied into the texture slot for export.
Once in Substance Designer, I test the tilling of the material and also start adding details to the Height Map, most of them have some low values to add a general variation. I didn’t want these details to erase my sculpting work. These are all basic grunge maps from Designer but at the end of this sequence, I decided to tile my Height Map as it gave the rocks a thinner look.
To maintain the details I was building, without losing the details of the original sculpt, I grabbed the initial Normal Map which only had sculpted information, and the secondary Normal Map with micro-detail so I can blend them with a Normal Combine node.
Base Color Map
Coloring these textures was the hardest part of the process for me. I wanted these rocks to feel super real, if you grab a rock and look at it closely you will see it’s noisy, therefore I grabbed a Grunge Map and warp it using the curvature smooth data to generate a new noise.
Once the noise detail was created I blend it in copy mode, overlaying its info into the curvature smooth map. These masks will go into different Gradient Maps and with the help of the Id Color mask we created in ZBrush and the color to mask node, we will mask these gradients in different rocks.
Ben Wilson's Color Variation node is part of my workflow, as I took my last Color Map and converted it to grayscale to use as the value variation input. I used one of the already used Gradient Maps to change the values and hues of it based on the input mask creating more variation. After this, I added a final HSL node to make some color corrections.
Once I have all the big shapes and micro details with my color, I move forward to my Roughness Map. When working for a portfolio piece I tend to have a Roughness with great contrast between black and white, usually, this is for render purpose, to catch strong reflections. Using the Get Slope Node I can get all the edges of my Height Map by inverting the Slope Mask Output and taking the Level in Low closer to the Level in High. This way I can subtract this to my final Roughness Map, which usually is a combination of Grunge Maps I build myself, to get a good highlight from my big shape edges.
For this particular material, I decided to make this map less complex, by using the Microdetail Map I used before as a subtraction to a gray color. this is because the material is supposed to be used on buildings that are placed on an island. This island is in the middle of the ocean and has strong winds with a lot of sea storms so it’s natural for these rocks to be wet or humid most of the time. By doing this I can have easy control of my general Roughness and of the Detail Roughness.
Render and Presentation
When it comes to building the presentation for my materials, I always tend to do it in a more “Cinematic” way. If you check my portfolio you will realize there’s no “Sphere-Render” in the thumbnail, that’s because having the material showcased in a plane allows for a more interesting composition.
Camera Position and Lighting
Every material has its use if I build a floor material I will take a top-diagonal shot while if I build a wall it will be a front-diagonal shot as it would be in a wall. This is because it feels more natural to the viewer in relation to the material he is watching and how our eyes see these things in the real world, if we want to look at the floor in our houses we would be looking from a top perspective. In basic terms, it adds context to the render by placing the camera in the right position.
Lighting is one of the most important things when talking about presentation, in fact when placing the cameras I always tend to give them a diagonal look, as it allows to capture more lighting reflection and surface detail. As said before I like giving my renders a cinematic feeling, this is why my lighting is so strong in my renders. I am a big fan of high contrast and shadows in movie shots, therefore, my lights tend to be strong. Using one soft light to create ambiance light and a second one which is the strongest one to create the shadows I need.
Even in movies, there’s no way a real-time render looks as realistic as we see on the screen, the only reason it looks that good is thanks to the post-processing effects that are being added over the render. When preparing a portfolio piece I try to get my highest level display so I always add premade effects in photoshop to my renders. Adding Saturation, vibrance and contrast makes the difference and allows for more control.
Substance Designer is one of my favorite tools, yet it doesn’t mean it’s perfect. Using Designer for so long allowed me to see the good and bad of it. In this case, making the rocks inside Designer, wouldn’t give me the detail I was looking for. That's why I chose ZBrush for the main shapes, while in Designer I can manage microdetail in a better way. As a recommendation for any material artist, don’t get stuck at the idea of making a material 100% Substance Designer, when doing that you lose the opportunity of making your work easier and stronger in a smart way. Use what you know and the tools a software offers to make something new and stronger.
Thanks to 80 Level for the opportunity to showcase my workflow!
You may find these articles interesting