Tutorial

From a theme to a real material in Painter

Smart Material Studio turns a themed design into a real, editable material inside Substance 3D Painter. This tutorial walks the whole pipeline - choosing a theme, tuning channels, previewing in 3D, and running the generated script in Painter.

What you will build

By the end you will have designed a themed PBR material in the browser, previewed it lit in 3D, and exported a Painter Python script that rebuilds the whole layer stack - folders, per-channel fill layers and generator masks - on your own mesh in Substance 3D Painter 10.1 or newer. You will also have the procedural base maps and a spec sheet.

Before you start: nothing here needs an install and the whole tool is free - no account, no login. Exporting the Painter Python script is free too; running it needs Substance 3D Painter 10.0+ (the layerstack API arrived in the 2024 release).

Step 1 - Pick a base style and theme

Open the app. On the left, choose a base style - Realistic for grounded, physically-plausible surfaces, or Stylised for higher saturation, crisper edge wear and a more hand-authored look. Then pick a theme from the library: clean or worn metal, rusted metal, chipped paint, sci-fi panel, stone, wood, fabric, leather, concrete or gold.

The centre preview redraws immediately, and the right-hand panel fills in the channel targets and the layer recipe for that theme. Three themes are free; the rest are unlocked on Pro.

Step 2 - Tune the channels

The Customize panel on the right lets you override the theme without leaving it:

Every change flows straight through the pipeline - the 2D maps regenerate, the 3D preview updates, and the values feed the exported script, spec sheet and preset. Hit Reset to snap back to the theme defaults.

Step 3 - Preview it in 3D

Switch the centre toggle from 2D map to 3D viewer. The generated maps are applied to a lit 3D mesh so you can judge the material the way it will actually read on a model:

If your browser has no WebGL, the viewer falls back to the 2D map - everything else still works.

Step 4 - Paint it onto the model (optional)

In the 3D viewer, hit Paint on model to brush your designed material straight onto the mesh over a base coat:

This is an honest browser preview of a masked layer - the same idea the generated Painter script sets up as a real, mesh-aware mask inside Painter. The deep paint work still belongs in Painter; this gets the rough-in and the mask started on your actual model.

Step 5 - Export

From the right panel you can export, at any map size:

Step 6 - Run the script in Substance 3D Painter

In Painter, open a project with a mesh, then run the script:

  1. Python menu → open the script folder, or drop the .py into the Painter Python console.
  2. Run it. The script targets your active texture set and builds a folder with a fill layer per channel and the theme's generator masks.
  3. The result is a real, editable material - adjust fills, swap masks, or paint over it as normal.

Mask generators (Metal Edge Wear, Dirt and so on) reference resources on your Painter shelf. The script searches for them and, if one is missing, falls back to a plain black mask so the build never fails outright.

Where the base maps fit

The exported PNGs are procedural, tiling, mesh-unaware textures. They are a useful starting base layer - drop them into a fill layer under your generators - but they are not the smart material itself. The editable material comes from the script. This is the honest split: the browser designs and documents, Painter holds the live layer stack.

Design a material now - free

Pick a theme, tune every channel, preview it in 3D, then export the Painter script.

Open the app

FAQ

Do I need Substance Painter to use the tutorial?

Only for the last step. Designing the material, tuning channels, previewing in 3D and exporting base maps, the spec sheet and the preset all happen in the browser with no install. You need Substance 3D Painter 10.0+ only to run the generated Python script.

Which Painter version runs the script?

Substance 3D Painter 10.0 or newer. The script uses the layerstack Python API introduced in the 2024 release, so 10.1+ is the safest target.

Can I load my own model in the 3D viewer?

Yes. The viewer accepts .glb and .gltf files and fits them to the frame, so you can preview the tiling material on your own asset before you export.

Can I paint the material onto the model?

Yes, as a mask. Paint mode brushes your material onto the mesh over a base coat, with brush size, hardness and erase, and exports the painted mask plus composited maps. It is a browser preview of a masked layer, not a replacement for painting inside Substance 3D Painter.

Is the tutorial free to follow?

Yes. Smart Material Studio is completely free with no account and no login - every step, including the 3D viewer, base-map export and the Painter Python-script export, is free.