Artist Introduction & Project Overview

Hi, my name is Vadim Bakhlychev (a.k.a. Slipgatecentral). I’m a character artist with over 20 years of experience. I’ve worked at companies such as Blizzard, Riot, and Nival. I have an extensive 3D sculpting background, and until very recently, I, like many, struggled with rendering my models outside of ZBrush.

Sculpting itself is not easy. We usually barely have the energy to complete the few extra steps required to make a proper presentation, so most people don’t even leave ZBrush.

I started experimenting with real-time rendering a few years ago with Marmoset Toolbag 3’s raster render engine. When raytracing was introduced to Toolbag 4, it significantly improved the visual quality of renders, enhancing fidelity and shadows. However, there was no way to modulate roughness for a more convincing surface look. Each material had only one global roughness control, meaning the model had to go through the full pipeline of retopology, UV unwrapping, and texturing to add nuance to the surface. This adds a significant amount of time to the workflow.

With Toolbag 5’s recent introduction of triplanar projection mapping and vertex color masking, I can now quickly explore rendering and presentation options—skipping all preparation steps, including UV unwrapping my 3D models. Triplanar projection itself is not new; it’s simply one of many ways to project a texture on a model and has been used in most high-end 3D software for years. When working with triplanar materials, a texture is projected to an object from 3 sides, and there’s a soft blending between them, so you wouldn’t notice any texture seams. It’s a very powerful and convenient texturing method because texture placement ignores the existing UV layout of a model.

My Workflow Breakdown

When I sculpt, I don’t think about optimization. My 3D models are messy and not UV-friendly. Remeshing a model and then unwrapping is time-consuming. I aim to quickly render simple texture effects, like rust, dirt, and worn edges, without spending too much time preparing the model.

Yes, UV unwrapping and baking maps in ZBrush is an option, but try scaling it up. My scenes always contain dozens of separate, poorly optimized meshes. Even if handling each one isn’t difficult, the time it takes quickly adds up, time I’d rather spend surfacing in Toolbag.

With Toolbag 5’s release, importing unprepared models directly and applying complex shaders became possible. Now, you can achieve a surface look similar to Substance or Toolbag’s classic UV-based texturing workflows.

Here are the key features that make this workflow possible:

  • Baking Ambient Occlusion, Cavity, and highlight masks into vertex color (PolyPaint).
  • Triplanar projecting textures onto raw models in Toolbag.
  • Layering materials in Toolbag using baked vertex color as a mask.

This approach is a huge time saver for quick look-dev iterations. I think anyone who doesn’t want to deal with UVs and remeshing will appreciate it. Now, let me break down this process using three different examples.

Example 1: A Quick Onimask

People selling STL kits will love this new approach. Say goodbye to boring greymat screenshots from ZBrush and use this workflow to turn your unoptimized sculpts into works of art.

I made this mask specifically for 3D printing. With Toolbag 5, I could put together a few quick renders in under an hour. If I had made UVs, texturing alone would have taken at least a day. I’m after quick, dirty results, so this method was perfect for me.

For printing, I tessellated and merged this hard surface/Sub-D model into a single mesh in ZBrush. Remeshing and unwrapping a model is time-consuming, so instead, I used the triplanar workflow for a quick surfacing pass.

Creating a Material Blending Mask

Simply put, my PBR texturing approach comes down to this: I want to eliminate unwanted highlights in cavities and shadowed areas while increasing brightness on open surfaces and exposed edges that show wear. The goal here is to create a more realistic and visually compelling surface without requiring extensive UV mapping or manual painting. This method allows for faster, more efficient material blending, resulting in surfaces that look naturally weathered and worn.

These effects can be quickly achieved using dirt and edge masks in Marmoset Toolbag or Substance Painter.

First, I needed a black-and-white mask similar to what I create in Substance Painter. My material setup is simple: a base material, an edges layer, and a dirt layer. In this case, I didn’t need worn edges—just a quick dirt mask. I used this mask to blend two materials: rough and polished metals. ZBrush’s built-in ambient occlusion (AO) plugin works well for this. I usually increase the sample count before generating the final AO to make it cleaner and more precise.

There’s no single “correct” amount of AO to apply. You can experiment with different brightness and density settings to see what works best for your model. Every sculpted surface has unique depth and detail clarity, directly affecting how AO is applied. Remember that you can easily adjust the spread and contrast of the polypainted AO in ZBrush using the ‘Adjust Colors’ setting under the Polypaint module.

Next, I inverted the resulting mask, hid it for convenience, and filled the model with black. Instead of setting my RGB intensity to 100, I kept it between 15–20 to apply the black more gradually. If I needed a denser black, I’d fill the model a few more times. Sometimes, I use a flat-color MatCap to make it easier to see or switch to Flat Render.

Optimizing the Model

Before sending the model to Toolbag, it’s a good idea to optimize it using Decimation Master in ZBrush. Ensure the Keep Polypaint setting is enabled to preserve color information during decimation. This workflow can be pretty aggressive, but I didn’t want to distort my model too much. A good decimation range is around 5–15%.

After this, I exported the model from ZBrush using the FBX export plugin. I ensured all visible subtools were included, polypaint remained intact, and the normals smoothing amount was set to around 30 to retain some sharp surface details after decimation. Leaving it at 180 would smooth the surface entirely, which might not work well for heavily decimated meshes.

The number of subtools in the scene determines how many materials will be created in Toolbag, so it’s in my best interest to keep the subtool count to a minimum. If multiple subtools share the same material, it’s a good idea to combine them.

For this mask, I needed around three or four material regions. After baking and decimating, I auto-assigned polygroups and separated the regions I wanted into subtools. If done correctly, the model will load into Toolbag with all the separated parts, each automatically assigned a blank material. To ensure polypaint has exported correctly from ZBrush, enable the Vertex Color shading model in the Albedo module. After checking, you can turn it off since the Albedo will be replaced with a material from the Library.

Setting Up Layered Materials

Next, I selected one of the imported materials and set it up for material blending using Toolbag’s new Material Layering system. This is where things get fun. First, I enabled the Layers module, set it to Vertex Color, and set the Texture module to Triplanar, using the vertex color as a driving mask. To make this part easier to set up, I changed the albedo of the bottom material (represented by the black area of the mask) to black, and left the top material white. This way, I could better see the effects of the mask blending slider.

Now, I can drag any material from the Materials folder in the Library window (not the Smart Materials folder) directly onto a shader layer slot. For the bottom material, I chose a dull, dirty metal, and the top layer is regular brushed steel. Now I have a result that I like—two materials mixed and properly rendered on my UV-less mesh. I also adjusted the texture tiling to achieve the desired detail level.

Quick Lookdev Iterations

I repeated the same process for the other parts of the model. To save time, I right-clicked a material and copied-pasted the material properties onto the remaining blank materials. Testing different material combinations is easy with this approach—just drag new materials from the Library into their respective slots.

Example 2: Nightmare Helmet

Here’s a different example that is more relevant for people deep into detailed sculpting. The success of this method depends entirely on the quality of the sculpt. The more surface details there are, the more detailed your masks will be. Sometimes, it’s even worth pushing those details using ZBrush’s contrast brush.

This time, I wanted a more complex look, including worn edges and highlights. To achieve this, I needed more than two materials, so I added a third color (a mid-range grey) to my mask, in addition to black and white.

Three colors are usually enough, and while four or more is possible, it’s difficult to manage without precise manual painting. So, I settled on three specific color values. Think of it like a color ID mask baked in Toolbag, but in grayscale with optional blurred borders between regions—that’s what a 3+ material mix would look like.

3-Level Mask in ZBrush

It’s easier to start with a 50% grey base color and enable Mask by Smoothness. It might work well out of the box, but a few sliders can be adjusted to fine-tune the results. Once done, I filled the resulting mask with 100% white and ensured I had pure white on my polypaint, as I wanted to use the entire grayscale range for better control over material blending in Toolbag 5.

Afterward, I filled the AO-generated mask with black. Visually, the results should now resemble the curvature map I usually get from regular texture bakes.

Setting Up 3-Layer Blending

Blending gets trickier with the extra material in this setup. I followed the same ZBrush export routine and imported the model into Toolbag. To make it easier to see how blending works, I used high-contrast colored albedos. I applied rusted iron on the bottom layer, regular iron for the middle layer, and brighter polished metal on top.

Example 3: Hair Tubes with Transparency

Everyone loves layering hair strands in ZBrush. The problem is that the clay look never fully disappears because all the objects in sculpted hair are solid meshes. Using an opacity mask could help, but that would require extra steps like remeshing and unwrapping, which can become tedious for dense hair models. I used a similar approach by creating a black and white mask to paint the tips of each hair strand. This mask was then used to mix two materials: one solid material, and a copy of the same material with the Dither Transparency set to 0.

I spent some time figuring out the right amount of gradient fade for the hair tips, but overall, this method works really well if I want to soften the edges of any object—not just hair. Think eyelashes, facial hair, or anything that requires an alpha blend opacity mask; this approach can handle it all now.

Extra Examples

Here are some extra examples provided by FirstKeeper that use the same layered material approach. Any shader can be mixed with anything: glass with concrete, wax with metal, transparent with opaque – the possibilities are endless.

My Closing Thoughts

This is an absolute productivity boost for anybody who wants to break into product visualization. Yes, you still need to understand regular UV workflow and texturing, as some things cannot be done with a simplified triplanar approach, such as decals, hand-painted textures, or intricate smart masks. But, as a quick previsualization method, this is priceless. The performance of ray traced rendering in Marmoset Toolbag, and the workflows mentioned above, makes for a very powerful combination.

We would like to thank Vadim Bakhlychev for writing this breakdown. You can find more of Vadim’s work on Artstation. Try Triplanar Materials in Toolbag 5 using the 30-day trial.

If you’re interested in collaborating on a tutorial or breakdown article, please send us your pitch and a link to your artwork to submissions@marmoset.co.