logo80lv
Articlesclick_arrow
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_login
Log in
0
Save
Copy Link
Share

How to Make Hand-Painted Base Generator in Substance 3D Designer

Theresa Schlag showed us how she created her hand-painted base generator using Substance 3D tools, worked with gradients, and faced challenges handling graphs. 

Introduction

Hi! My name is Theresa Schlag, and I’m an Art Director, 3D Artist, and Game Developer based in Berlin. One of my passions is creating 3D props, another is hand-painted texturing, and, above all, problem-solving.

While teaching and working in larger teams, I noticed that keeping a hand-painted look consistent is a challenge in itself. After some workflow studies and material research, I decided to create a hand-painted base generator in Substance 3D Designer that not only shortens production time, but is also easy to use and helps maintain consistency across assets.

This breakdown covers the creation of four base generators: Two-Color Gradient, Gradient Mask, Spots, and Flakes. It also explains how I tackled specific technical hurdles, such as avoiding low-resolution position data, reducing gradient banding, and choosing an appropriate bit depth.

Preparing Substance 3D Painter

Before starting generator creation in Substance 3D Designer, I want to share my Substance 3D Painter default setup for hand-painted texturing.

As you can see above, in the Environment Settings, I use a Soft-Low-Contrast environment map instead of Studio Tomoko. While Tomoko is great for realistic texturing, I prefer to paint the hard lights myself for hand-painted work. Camera environment alignment is optional, but sRGB is not, at least when producing game assets.

In the Layers panel, I create a fill layer on top of my working folder and disable metal and roughness.

In addition, I always bake my assets, even if it is a low-poly bake. Most generators and filters rely on baked maps and won't work without them. I tend to bake and work one resolution above the target texel resolution.

Building the Generator in Substance 3D Designer 

While working in Substance 3D Painter, I often found myself stacking the same layers repeatedly to create material details, such as multiple gradients combined with flakes and spots. Doing this manually across multiple colors and materials gets tedious fast. Combining this stack into a single custom generator saves massive amounts of time and improves performance.

Two-Color Gradient

Above is the base setup for the Two-Color Gradient: a simple Light node controlling two colours based on the input of the baked world-space normals.

However, when I exposed the angles of the light node, I noticed that while I could change the angles fine in Substance 3D Painter, the default value wasn't properly displayed. A minor annoyance, but definitely worth fixing.

The solution is to create two custom float variables (one for each angle) to control the light angles and expose those instead of the default turns from the original light node.

During testing in Substance 3D Painter, I found that angles of 80° and 200° look great in the preview. I just had to convert them to turns and plug them into the light node (80°/360° = 0.22 turns).

After adding the basic functionality, I dropped in an HSL node for more freedom during color adjustments and exposed all the essential values for Substance 3D Painter.

Gradient Mask

For the gradient mask, I wanted a different behaviour than the color gradient. Something reusable for moss, paint, or sunburns based on baked position data. Here is what I started with before running into a main problem.

During testing, I noticed that the resolution of my gradient got really blocky and low-quality, especially when I increased the contrast.

Knowing the gradient relies on position data, my first thought was to bake the maps at a higher resolution:

Better, but still not quite there. Next came our all-time favorite enemy: gradient banding.

Regular image processing works fine with 8 bits per RGB channel. However, for smoother results, changing the output format of the parent node (in this case, the RGBA Split node) to 16 bits per channel smooths out the grayscale and prevents banding artifacts.

The final touch is inserting a Blur HQ Grayscale node with very low intensity right before the histogram scan to get a pristine result.

Final graph and Substance 3D Painter component:

Spots

At first glance, the spots graph looks a bit more complex, but I simply reused the mask gradient section with the RGB Split node (copy-pasted directly) so I could focus purely on the spot details. 

Hand-painted assets need a controlled amount of surface detail to look right.

Slope blur is an incredible node in Substance 3D Designer (and a great filter in Substance 3D Painter) for simplifying shapes and giving them that painted look. By keeping the exposed parameters clean, I ensure artists maintain a consistent style across props without going overboard.

Final graph and Substance 3D Painter component:

Flakes

Besides spots, I use flakes constantly to break up metal surfaces. Flakes are essentially a combination of spots passed through a slope-blur filter chain.

As always, testing in Substance 3D Painter is vital. Remember: too much freedom equals less consistency, so only expose the values artists actually need to shape the material.

Final graph and Substance 3D Painter component:

Presets

I wanted the default preview asset to look colorful and flashy to spark curiosity and invite artists to play with it. For actual production work, however, I always recommend creating a few neutral presets to speed up day-to-day texturing.

Final Adjustments

In the end, pipeline tool creation is all about decision-making: determining where procedural generation takes over and which values to expose. These generator setups can easily be adapted for different art styles or integrated straight into smart material templates in Substance 3D Painter.

A gradient generator can't replace the love and skill a true hero asset deserves, but I hope this saves you time and helps your team keep your project visuals locked in tight. Thanks for reading!

Theresa Schlag, Art Director, 3D Artist, and Game Developer

Built for the Game & Digital Art Industry
Get Our Media Kit

Comments

0

arrow
Type your comment here
Leave Comment
Built for the Game & Digital Art Industry
Get Our Media Kit