ArmorPaint uses a non-destructive layer stack similar to professional 2D painting applications. Every stroke, fill, and effect lives on its own layer, and layers are composited together in real time using GPU shaders. You can reorder, hide, duplicate, merge, and delete layers at any time without permanently altering your base mesh. The Layers panel is available in the sidebar and can be expanded to a full 2D view via the 2D View button.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/armory3d/armorpaint/llms.txt
Use this file to discover all available pages before exploring further.
Layer Types
- Paint Layer
- Mask Layer
- Fill Layer
- Group Layer
- Path Layer
The standard layer type (
LAYER_SLOT_TYPE_LAYER). Stores painted texture data across up to three internal textures:texpaint— Base color and opacity.texpaint_nor— Normal map data.texpaint_pack— Packed channel data: Occlusion (R), Roughness (G), Metallic (B).
Layer Properties
Each layer slot (slot_layer_t) exposes the following configurable properties:
Visibility and Opacity
Visibility and Opacity
| Property | Description |
|---|---|
visible | Toggle the layer on/off. A hidden layer is excluded from compositing. Click the eye icon next to the layer. |
mask_opacity | Overall opacity of the layer (0.0–1.0, displayed as 0–100%). For mask layers this controls how strongly the mask is applied to its parent. |
Paint Channels
Paint Channels
Each channel can be individually enabled or disabled per layer via the Channels section in the layer context menu (right-click on the layer):
Channels beyond Base Color and Opacity are only active in the PBR workflow.
| Field | Channel |
|---|---|
paint_base | Base Color |
paint_opac | Opacity |
paint_occ | Occlusion |
paint_rough | Roughness |
paint_met | Metallic |
paint_nor | Normal |
paint_nor_blend | Normal Blend |
paint_height | Height |
paint_height_blend | Height Blend |
paint_emis | Emission |
paint_subs | Subsurface |
UV Settings
UV Settings
| Property | Description |
|---|---|
uv_type | UV projection mode: UV Map (0), Triplanar (1), or Project (2). |
uv_map | The specific UV channel index to use (uv0, uv1, etc.) when uv_type is UV Map. |
scale | UV tiling scale for fill layers (0.0–5.0). Defaults to 1.0. |
angle | UV rotation angle for fill layers (0–360°). Defaults to 0.0. |
Object Mask
Object Mask
The
object_mask property restricts a layer’s paint contribution to a specific mesh object in the scene. Set it via the Object dropdown on the layer row. Choose Shared (index 0) to paint across all objects, or select a named object to isolate painting to that mesh.Blending Modes
All 18 blending modes fromblend_type_t are supported. Select the blending mode from the dropdown on the layer row or in the layer context menu:
Mix
Default alpha-blend compositing.
Darken
Keeps the darker of the two colors.
Multiply
Multiplies colors, always darkening.
Burn
Darkens by increasing contrast.
Lighten
Keeps the lighter of the two colors.
Screen
Inverted multiply; always lightens.
Dodge
Brightens by decreasing contrast.
Add
Adds color values together.
Overlay
Combines Multiply and Screen based on base brightness.
Soft Light
Softer version of Overlay.
Linear Light
Linear Dodge or Burn based on blend color.
Difference
Absolute difference between colors.
Subtract
Subtracts blend color from base.
Divide
Divides base color by blend color.
Hue
Applies hue from blend, keeps base saturation/value.
Saturation
Applies saturation from blend, keeps base hue/value.
Color
Applies hue and saturation from blend, keeps base value.
Value
Applies value (brightness) from blend, keeps base hue/saturation.
Layer Context Menu
Right-click any layer to access its context menu. Key actions include:Export
Export the layer’s texture to a PNG file on disk, or export the full texture set via the standard export dialog.
To Fill Layer / To Paint Layer
Convert between a procedural fill layer and a rasterized paint layer. Converting to a fill layer uses the current active material. Converting to a paint layer bakes the fill result into pixel data.
Delete / Clear / Duplicate
Delete removes the layer entirely. Clear resets all pixels to transparent (or white for masks). Duplicate (
Ctrl+D) creates a copy of the layer above the original.Merge Down
Flattens the selected layer onto the layer directly below it. Only available when a compatible layer exists below.
Undo and Redo
| Action | Shortcut |
|---|---|
| Undo | Ctrl+Z (edit_undo) |
| Redo | Ctrl+Shift+Z (edit_redo) |
undo_steps. At very high texture resolutions (≥16384 px), the undo step count is automatically reduced to 1 to conserve GPU memory.