rubbish. learn nothing.
3D artist Paul H. Paulino has published another great article dedicated to creating a curvature mask in ZBrush.
In this article, I’m going to share with you a cool technique to create a curvature mask in Z-brush that I’ve learned with my former mentor Justin Holt, and I think it’ll be very helpful for your texturing/shading process. The curvature mask is also considered an Auxiliary Map along with the ambient occlusion map. You can read more about the Ambient Occlusion map here.
I remember talking about the curvature map on my previous tutorials, but I never explained how to create and use it properly. At the end of this article I have a video explaining how the mask can be useful in a texturing workflow.
WHAT IS AND WHY DO I NEED A CURVATURE MASK?
We often call these maps Auxiliary Maps for an obvious reason: they are going to assist us during our texturing/shading process. According to the Polycount Wiki, a curvature map is a texture that stores the convexity/concavity of the mesh. This mask is also known as Edge Mask, Round Edge Mask, Concavity, Convexity, Pits & Peaks, Worn Edge.
In this tutorial, I’m going to use my Gas Mask project to demonstrate how the curvature mask look on soft and hard surfaces.
This mask is crucial in my texture workflow and can be used in various situations such as:
- Wear and Tear: You can use the curvature as a mask to blend other materials or add it to other texture maps to create believable wear and tear details.
- Color Variation: Just by using the curvature map on top of your diffuse map you already get an interesting contrast in your colors following the smoothness of your object.
- Roughness and Bump Breakup: Use the curvature to remove the edges in your roughness and bump maps to create an interesting and realistic look
Don’t forget to watch my video at the end to learn how to use the mask in these situations I mentioned above.
It’s quite useful while texturing cloth and hard surface models. This auxiliary map will come in handy to achieve realism.
Keep in mind that these techniques I’m going to showcase are mainly focused on assets for VFX which have UV’s. So before you start make sure to check if your asset has proper UV’s.
1 – IMPORT YOUR MESH AND ADD SUBDIVISIONS
The first step to this tutorial is to import your mesh into Zbrush and add a few levels of detail. The amount of subdivisions will vary from asset to asset and you’ll know if it’s enough when you see that your mask/model isn’t faceted.
When I work with an asset like the Gas Mask above, I usually have at least 4 million polygons. Since this method relies mainly on the smoothness of the object, it is crucial to have a subdivided model without any faceted surfaces.
2 – CHANGE YOUR RENDER MODE TO FLAT
This step will allow you to preview your mask accurately without any light/shadow information.
3 – MASKING
Go to Tool> Masking > Masking by Smoothness. Here’s where the magic happens
As you can see, one of the greatest things about this method is the fact that you don’t have to dial complicated options at all. Just adjust the range and falloff values, and you’re ready to go. To understand what these settings do, here’s a quick explanation from Zbrush Docs:
With the Range slider set to a higher value the mask will cover more of the surface from any point where ZBrush determines there should be a mask. A lower setting will keep the mask closer to the point where the surface changes.
If Falloff is set lower then there will be a more gradual transition between masked and unmasked areas. A higher setting will result in a sharper mask.
With that in mind adjust the values accordingly and press Mask by Smoothness.
If you followed the steps correctly, you should see something similar to the gif above. The mask preview is surprisingly fast and accurate. Now we can start adjusting our mask.
4 – EDITING YOUR MASK
By default, the mask by smoothness already give us a great map, but luckily we can go even further and get a better result.
On top of the masking tab, you can see a variety of options to adjust your mask. You can use blur, grow, sharpen and shrink to get a result that suits your needs. Go ahead and test each one.
I recently learned that there’s another option called Mask Adjust close to the other options I mentioned above. I never had to use this feature but feel free to test it out and see if you can get better results with it.
5 – FILLING YOUR MASK WITH COLORS
When you’re finally happy with your mask, it is time to bake colors into the mesh so we can export it later. With your mask selected, invert it so the white area can receive the color and go to the Color menu and change your color to Black and press Fill Object.
Now clear your mask and you’ll see that your mask is now a texture baked into your geometry, ready for export.
6 – EXPORTING THE CURVATURE MAP
If your mask result looks similar to mine, you’re ready to export your map. Go to Zplugin > Multi-Map Exporter and select Texture From Polypaint.
Another important thing to keep in mind: Change the resolution of your map and on File Names make sure to change your UV Tile format. In my case, I chose UDIM because I’m using MARI, but you can select different ones.
Press OK and click on Create All Maps. Select your output directory, and you’re ready to go!
7 – BEING CREATIVE WITH YOUR MASK
While baking your curvature mask keep in mind that you don’t have to use just one option. When I’m working on my textures, I usually like to export two or three different curvature masks.
Since the baking process doesn’t take too long, I benefit from that to create multiple versions which can be very helpful later on. Check the video below to see how I use this mask in my texturing workflow.
HOW TO USE CURVATURE IN MY TEXTURING PROCESS?
Now that we know how to bake our Curvature Map, how are we going to use it? On the video below, I showcase a few techniques that I learned that might be helpful for your texturing workflow.
It might look simple, but if you understand the principle, you will be able to achieve incredible results without too much effort. If you liked the video, please share with your friends!