Dynamic Decals - Brushes
Brush preset system for the dynamic decals tool. Saves/loads complete brush configurations (textures, colors, blend modes, scale, rotation, SDF, alpha mask, etc.) from `/art/dynamicDecals/brushes/brus
Brush preset system for the dynamic decals tool. Saves/loads complete brush configurations (textures, colors, blend modes, scale, rotation, SDF, alpha mask, etc.) from /art/dynamicDecals/brushes/brushes.json. Provides browser tab with thumbnail grid, inspector panel, and context menu.
Public API
| Function | Signature | Description |
|---|---|---|
M.saveBrush | (name) | Captures current API state as a brush preset and saves to file |
M.loadBrush | (brush) | Applies all brush properties to the dynamic decal API |
M.getBrushes | () → table | Returns loaded brushes array |
M.inspectorGui | (brush) | ImGui inspector: Use/Delete/Save buttons, properties table, texture previews |
M.registerEditorPreferences | (prefsRegistry) | Registers preferences (stub) |
M.editorPreferenceValueChanged | (path, value) | Preference change callback (stub) |
M.setup | (tool_in) | Loads brushes from JSON, registers browser tab |
Brush Properties Saved
| Property | Type | Description |
|---|---|---|
decalColorTexturePath | string | Color texture path |
decalNormalTexturePath | string | Normal map path |
decalMetallicTexturePath | string | Metallic map path |
decalRoughnessTexturePath | string | Roughness map path |
decalAlphaTexturePath | string | Alpha mask path |
color | Point4F | Decal color (RGBA) |
decalScale | vec3 | Scale XYZ |
decalRotation | float | Rotation angle |
decalSkew | Point2F | Skew XY |
blendMode | int | Blend mode ID |
mirrored | bool | Mirror enabled |
sdfThickness | float | SDF thickness (if SDF-compatible) |
sdfOutlineColor | ColorI | SDF outline color |
| ...and 20+ more | - | Full decal property snapshot |
Browser Tab Interaction
- Single click: Select brush (shows in inspector)
- Double click: Load brush (applies all properties)
- Right click: Context menu (Select/Load/Delete/Dump)
- Text filter: Search brushes by name
Usage Example
local brushes = extensions.editor_dynamicDecals_brushes
brushes.saveBrush("My Custom Brush")
local allBrushes = brushes.getBrushes()
brushes.loadBrush(allBrushes[1])Dependencies
| Module | Purpose |
|---|---|
editor_api_dynamicDecals | Full decal property get/set API |
editor_dynamicDecals_browser | Tab registration |
editor_dynamicDecals_selection | Layer deselection on brush select |
editor_dynamicDecals_layerTypes_decal | SDF compatibility check |
See Also
- Dynamic Decals - Browser - Related reference
- Dynamic Decals - Camera - Related reference
- Dynamic Decals - Color History - Related reference
- World Editor Guide - Guide
Dynamic Decals - Browser
Central browser window for the dynamic decals tool. Provides a tabbed interface where other modules (Textures, Brushes, Fonts) can register their own tabs. Assets can be dragged and dropped from brows
Dynamic Decals - Camera
Camera preset system for the dynamic decals tool. Provides one-click camera angle switching for viewing vehicle liveries from different perspectives. Presets are stored in editor preferences and are f