RGB Mask Master
RGB Mask Master
Blender 3.3 – 5.2 · Windows, macOS and Linux · Substance 3D Painter optional
Painter-style RGB masks, baked, layered and painted in Blender, with a round trip to Substance 3D Painter. Select an asset, press New Mask Set: ambient occlusion and curvature are baked from the low poly, and a red, green and blue layer stack is built for you. Tune it, paint it, put it straight onto your own materials, or send the whole asset to Painter and bring the masks back.
It appears in Blender's add-on list as Tachyon RGB Mask Master, and in the viewport as the RGB Mask card.
Version: 1.0.1
Blender: 3.3 – 5.2, one zip (an extension on 4.2+, a classic add-on on 3.3 – 4.1).
Platform: Windows, macOS or Linux for everything in Blender. Send to Painter has been tested on Windows
Substance 3D Painter: Optional — only needed for Send to Painter / Get from Painter
Network use: None
Licence: GPL-3.0-or-later
Getting started
Blender 4.2 and newer: Edit ▸ Preferences ▸ Get Extensions ▸ Install from Disk (or drag the zip into Blender), pick the zip, and enable Tachyon RGB Mask Master.
Blender 3.3 to 4.1: Edit ▸ Preferences ▸ Add-ons ▸ Install, pick the same zip, and tick Tachyon RGB Mask Master.
In the 3D Viewport press Ctrl + Shift + M. A floating card appears with every control on it; press the shortcut again to hide it. The same controls are in the sidebar (N) under the RGB Mask tab — you can rename that tab in the preferences.
Select a mesh — or the empty of an asset with + Children on — and press New Mask Set. The mask UV map is made if it is missing, AO and curvature are baked, and three layers are built:
| Channel | Layer | What it is |
|---|---|---|
| Red | Occlusion | Dirt in the crevices, from the AO bake, broken up with grunge |
| Green | Edge Wear | Worn convex edges, from the curvature bake, broken up twice |
| Blue | Alt Color | Patchy 3D grunge for a second paint colour |
New sets start On Material: the mask is already driving your own materials.
Which meshes
The scope chips at the top of the card decide what New Mask Set and Send to Painter work on.
| Scope | What it takes |
|---|---|
| Active | Only the active mesh |
| Selected | The selected meshes |
| + Children | The selected objects and every mesh parented under them, at any depth. Select the empty of an asset and all of it goes. Hidden children stay out |
One mask per asset
With + Children, One Mask per Asset (on by default) gives all the meshes under a selected empty — or a parent mesh — one mask: one texture, one Painter texture set. Their mask UVs are laid out together so they do not overlap.
One mask for all
One Mask for All (with Selected or + Children) gives every mesh New Mask Set or Send to Painter reaches — across all the selected assets — one mask: one texture, one Painter texture set. Use it when several props should share a single RGB mask, like a set of pieces that ship together.
- Their mask UVs must not overlap in one texture. When they do (each asset laid out 0–1 on its own, the usual case), the add-on copies them into a new UV map, RGBMask Packed, and packs every mesh's islands together into it. Your own UV maps are never changed.
- Meshes without a mask UV map get one made for all of them together (Smart UV Project).
- One texture now covers every asset, so each gets a share of its resolution: raise the set's texture size if the detail gets too soft.
- It overrides One Mask per Asset; turning One Mask per Asset back on turns it off.
Ignored collections
Collections you never want in a mask — collision hulls, decals, LODs, high polys — are left out of mask sets, bakes (also as occluders) and Send to Painter.
- Ignore on the card ticks the scene's collections for this file. A collection inside an ignored one is ignored too.
-
Preferences ▸ Ignored Collections is a list for every file. Rows accept names or wildcards:
Collision,LOD*,*_high. Not case sensitive. - The card shows what is in play, e.g. 14 meshes, 50 ignored.
The mask UV map
The mask is baked, painted and exported on its own UV map — the second UV map by default, so your first map stays the texturing UVs. If a mesh has only one, a map called RGBMask is made with Smart UV Project. The first map is never touched.
- Mask UV on the card picks the map; New Mask UV Map makes one for every mesh of the set.
- Send to Painter exports this map as Painter's first UV channel.
Bakes
AO and curvature are baked with Cycles from the low poly itself — no high poly, no cage — on the GPU when one is set up in Preferences ▸ System. Curvature follows Painter's convention (0.5 = flat, brighter = convex, darker = concave) and works across UV seams and hard edges. Your objects, materials and render settings are never touched.
| Setting | Default | What it does |
|---|---|---|
| Resolution | 2048 | 512 px to 8K |
| AO Distance | fitted to the object | How far a crevice looks for geometry that shades it |
| AO Samples | 64 | |
| Edge Width | fitted to the object | How far from an edge the curvature reaches |
| Edge Strength | 0.71 | |
| Other Objects Occlude | Off | Let the rest of the scene shade the occlusion (off = the mask set's meshes alone, like Painter) |
| Single Bevel (Mid-Poly) | On | One-segment bevels with weighted normals wear as one edge, not as two thin lines along the bevel's borders |
AO reach and edge width follow the objects' size — a bolt and a building need very different distances.
Bake preview
Preview Bake… shows the curvature on the meshes while you tune it: it is redrawn on the GPU as you drag Edge Width or Edge Strength, so it follows the slider. The preview shows what the settings affect — flat surfaces dark, worn edges bright. AO shows Blender's live ambient occlusion the same way: open surfaces dark, occlusion bright.
- Fast / Normal / Fine — a 256, 512 or 1024 px preview.
- Bake Maps does the exact bake at the set's resolution and closes the preview. Close Preview leaves the real maps as they were.
Layers and masks
Each layer paints a colour where its mask is white, with a blend mode and an opacity — top of the stack first, like Painter. Drag the grip to reorder, double-click to rename, click the eye to hide.
Add Layer offers ready-made layers, each in red, green, blue, white or black: Fill, Paint, Dirt (Occlusion), Edge Wear, Cavity, Grunge, Height Gradient and Top Light.
Layer blend modes: Normal, Add, Subtract, Multiply, Screen, Lighten, Darken, Overlay, Difference. A mask starts Black (hidden until the mask adds to it) or White (shown until the mask takes away).
What a mask is made of
Add to Mask stacks effects, each with its own blend (Normal, Add, Subtract, Multiply, Lighten, Darken) and opacity:
| Effect | What it gives |
|---|---|
| Paint | Painted by hand — white shows the layer, black hides it, erase reveals what is below |
| Fill | A flat value |
| Ambient Occlusion | The baked AO (Invert for crevices) |
| Curvature | The baked curvature |
| Edges | Convex edges only |
| Cavity | Concave corners only |
| Noise | Procedural 3D grunge — Grunge, Cells or Streaks — no seams, no stretching |
| Texture | Any image, triplanar with a soft fade, or on the UVs |
| Position Gradient | A gradient along the object's height (or X / Y) |
| Light | Surfaces facing a direction |
| Levels | Remaps everything below it |
Position and Contrast work like Painter's histogram scan: where the black / white cut sits, and how hard it is.
View shows the whole result, the active layer's mask in black and white, or a single channel. Lit / Flat shows the mask lit by the scene or as exact colours.
Painting
Paint Mask paints the active layer's mask in the viewport: White shows the layer, Black hides it, Erase reveals the effects below. X swaps white and black. An asset of many meshes is painted in one go — one stroke crosses every mesh of the set.
| Brush control | What it does |
|---|---|
| Alpha | The shape of the brush tip, from your library |
| Angle / Random Angle | The alpha's rotation, and how far it turns on every dab |
| Spacing | Low = one smooth line, high = separate stamps |
| Jitter | Scatters every dab away from the stroke |
| Stabilizer | Smooths shaky strokes |
| Soft / Round / Hard | The brush falloff |
| Stencil | A texture pinned to the screen: the brush paints only where it is white. Alt + right-drag moves it, + Shift scales, + Ctrl rotates (editable in the preferences) |
Filters for the painted mask: Blur, Sharpen, Invert, Fill White, Fill Black, Clear.
Painting uses the add-on's own brush, so your brushes are never edited. Painted masks are packed into the .blend when you save. Isolate While Painting (preferences) paints with only the asset shown, which keeps big scenes smooth.
The library
Your own breakup textures and brush alphas, in one place, as plain image files you can also manage in Explorer.
- Import Textures / Import Alphas copies images in, several at once (PNG, JPG, TGA, TIFF, EXR, BMP, WebP, HDR).
- Browse shows a thumbnail grid; one click puts a texture into the active layer's mask, an alpha on the brush, or a texture on the stencil.
- A few starter items are generated on first use, so it is never empty. Removing an item moves it to a
_removedfolder; nothing is deleted. - Preferences ▸ Library Folder sets where it lives.
On your materials
Mask Only shows the RGB mask alone on the meshes; On Material shows the meshes' own materials with the mask applied. One set of controls drives every material of the asset, whether the mask was made in Blender or came from Painter, and painting shows on the real material live.
| Per channel | What it does |
|---|---|
| Colour | The colour this channel paints on the material |
| Roughness / Metallic | Where this channel is white |
| Strength | How much it shows — 0 = the material as it was |
| Colour / Roughness / Metallic switches | Which of the three the channel changes |
The add-on works on its own copies of your materials — the originals are never edited. Take Mask off Materials removes the copies and shows the mask alone.
Trim Master materials take the mask too: their tiling RGB mask is swapped for this one, with either the card's channel settings or their own.
Confirm and export
Confirm RGB Mask bakes the result into one PNG, plugs it into the materials (UV Map ▸ Image Texture ▸ RGB Mask node) and removes the layers. The asset then needs no add-on. Ctrl + Z undoes it.
RGB Mask Folder… sets where Confirm saves and how it names the file:
| Setting | Default |
|---|---|
| RGB Mask Folder |
RGB Masks, next to the .blend |
| A Folder per Project | On — each .blend file's masks in their own folder |
| File Name |
RGBMask-{objects}. Tokens: {objects} (the meshes it covers), {asset} (the top parent), {set}, {project} (the .blend) |
Export RGB Mask writes one RGB PNG at any resolution, without changing anything; Re-export writes it again to the same file. An export that comes out all black warns you instead of failing silently.
Substance 3D Painter
Send to Painter opens the meshes in Substance 3D Painter as one project:
- a texture set per mask (per mesh, per asset with + Children, or one for everything with One Mask for All);
- every mesh map baked at 4K (or 512 to 8K) — normal, world-space normal, ID, AO, curvature, position, thickness;
- the RGB mask layers already built, from your own Painter starter assets;
- saved next to your .blend, in a
painterfolder.
Send again and the same project is updated in place: the mesh is reloaded, new texture sets are set up, everything is re-baked, and what you painted in Painter stays. If Painter has unsaved work it asks first — Save, Discard or Not Now — and never throws work away silently.
Get from Painter brings each texture set's RGB mask back onto its meshes (the project must be open in Painter). Show Painter Result switches between the Painter mask and the Blender layers, and Make Mask in Blender turns a Painter-only mask into Blender layers at any time.
| Painter Layers | What Painter builds |
|---|---|
| RGB Mask (default) | Black base, blue alternative colour, red occlusion, green edge wear |
| Same as Blender | The Blender layer stack rebuilt in Painter |
| Smart Material | A smart material from your shelf, by name |
Finding Painter
The add-on finds Painter by itself: a running copy, the Windows install registry, every Steam library, Adobe and older Allegorithmic install folders. If it is somewhere else, set Preferences ▸ Painter. The preferences say what was found.
The bridge's small plugin copies itself into Painter's startup folder on the first send. If Painter was already open then, restart it once — the job waits and starts by itself.
Preferences
| Preference | Default | What it does |
|---|---|---|
| Sidebar Tab | RGB Mask | The add-on's tab name in the N-panel |
| Mask Layers in Blender | On | Off = the add-on is only Send to Painter / Get from Painter |
| Card Interface | On | Off = the classic sidebar panel |
| Card | Floating | Or docked in the sidebar |
| Show on Startup | On | Off = hidden until Ctrl + Shift + M |
| Which Meshes / One Mask per Asset / One Mask for All / Ignored Collections | Selected / On / Off / — | See Which meshes |
| Isolate While Painting | Off | Paint with only the asset shown |
| Library Folder | Blender's user data folder | |
| Painter / Painter Bake / Painter Layers | Found / 4096 / RGB Mask | See Substance 3D Painter |
Every shortcut is a normal Blender keymap entry and can be changed, with any modifiers.
Release history
| Version | Date | |
|---|---|---|
| 1.0.1 | 15 October 2026 | Fix: a rare crash while baking on Blender 3.3 – 4.2 |
| 1.0.0 | 15 October 2026 | First release |
Support
Questions, bugs and ideas: join the Tachyon Studio Discord, or message us through Superhive.
A Blender add-on. Substance 3D Painter is optional and not included; no network access.
-
$19.99
For 1 person (1 seat). Commercial use included.
-
$79.96
For a team of up to 6 people (6 seats). Commercial use included.
-
$199.90
For a studio of up to 20 people (20 seats). Commercial use included. Need more than 20 seats? Contact us directly.
Included
Includes 12 months of
- Support from Tachyon Studio
- Product updates
Extend this product’s Support Period +12 months: 50% of product price
Have questions before purchasing?
Login to message
| Blender Extension Compatible | Yes |
| Published | about 6 hours ago |
| Blender Version | 3.3 - 5.2 |
| Extension Type | Add-on |
| License | GPL |
Discover more products like this
layers mask baking rgb mask Texture Painting gamedev curvature PBR edge wear Substance painter game assets Trim Sheet ambient occlusion