substance painter.
The split between Designer and Painter is the cleanest separation of concerns in §I. Designer authors a substance once; the same .sbsar can be applied to a thousand different assets, each parameterised independently. Painter applies that substance to a specific asset, with that asset's own UV unwrap, its own edge wear, its own scratches in particular places, its own decals. The substance is reusable; the paint job is bespoke.
The composition primitives are familiar from Photoshop, but with a 3D object underneath. Layers stack from bottom to top — base material, fill, stencil, mask, effect. Masks scope where each layer applies — a black-and-white channel that Painter computes from the asset's normals (edge wear), curvature (crevice dirt), or world position (top-down dust). Brushes place strokes by hand. Stencils project decals or patterns onto the surface as flat images. The whole stack re-bakes whenever a parameter changes.
The win is iteration. A character TD doesn't paint a hero asset once — they paint, render a turntable, get notes, return to the layer stack, dial a slider, watch the asset re-bake. The look is dialled, not committed. The downstream artifact is the same as Designer's: a coordinated PBR map set bound to the asset's UVs, exported to glTF / KTX2 / USD MaterialX, ready for the runtime to fetch and apply. The composition that built the look stays in the .spp project file as the source of truth.
- Type
- Solid Fill
- Channel
- basecolor
- Blend
- normal
- Opacity
- 100%
- Curvature
- baked · 0.2 ms
- AO
- baked · 0.4 ms
- Position
- baked · 0.1 ms
- World ↦ Tan
- baked · 0.3 ms
// Substance Painter project layers, top-to-bottom — same order // as the panel above. Each layer carries a mask channel, an // effect, and a parameter set that re-bakes when the asset's // UV / curvature / AO maps change. { "asset": "CrateHero_LP.fbx", "uv_set": "UV01", "resolution": 4096, "baked_channels": ["curvature", "ao", "position", "world_normal"], "layers": [ { "id": "effect_dirt_pass", "kind": "effect", "blend": "multiply", "opacity": 0.85, "mask": { "source": "curvature", "invert": true, "levels": [0.40, 1.0] }, "channels": { "basecolor": [0.20, 0.16, 0.12] } }, { "id": "stencil_si_decal", "kind": "stencil", "projection": "planar_y_up", "texture": "decal_si.png", "opacity": 0.92, "channels": { "basecolor": true, "roughness": true } }, { "id": "mask_edge_wear", "kind": "mask", "mask": { "source": "curvature", "levels": [0.55, 1.0] }, "channels": { "basecolor": [0.78, 0.78, 0.74], "metalness": 0.95, "roughness": 0.32 } }, { "id": "fill_brass_base", "kind": "fill", "substance": "sbs://brass_polished.sbsar", "parameters": { "oxidation": 0.18, "grain": 0.42 } }, { "id": "base_primer", "kind": "base", "channels": { "basecolor": [0.55, 0.55, 0.54], "metalness": 0.0, "roughness": 0.78 } } ] }
- 2003
- Allegorithmic founded. Designer ships first; the procedural-material thesis lands.
- 2014
- Substance Painter ships. The sibling tool: take the procedural materials Designer authors, apply them to specific assets via UVs, layers, masks, and stencils. Hand-paint the procedural.
- 2016
- Smart Materials and Smart Masks ship. A "Smart Material" carries its own bake-aware logic — drop it on any asset and edge wear, dirt, and dust appear in the right places automatically.
- 2018
- Adobe acquires Allegorithmic. Painter joins Designer, Sampler, and Stager under Adobe Substance 3D.
- 2020
- The Substance 3D suite consolidates. Painter ships with USD export, Iray rendering, ACES tone-mapping; the cinematic-ceiling bar rises.
- 2022
- UV-on-the-fly authoring matures. Painter can author across multiple UV sets, channels, and texture sets within a single project; the .spp file becomes the asset's source of truth.
- 2024
- Substance 3D Painter 11. Modeling Mode, multi-mesh editing, neural texture features, MaterialX export. Still the asset-side default for every modern PBR pipeline.