Recoloring with palettes
Use palette reference data for scene styling, apply a global vertex-colour tint, or use named editable materials for precise changes.
On this page (5)
Applicable low-poly packs can include palettes.json. It records colour and scene-lighting values used for the pack, but it is not a runtime theme engine. Once colours are baked into a flattened GLB's COLOR_0 attribute, the model no longer retains a link from each vertex to keys such as wood or glass.
Palette data#
The common shape maps a palette name directly to its values:
{
"night": {
"_bg": "#0c1428",
"_sun": 0.42,
"_sunColor": "#8ea6d8",
"wood": "#3a3540",
"glass": "#ffd98a"
}
}Surface keys describe colours used in the models. Keys beginning with _ describe scene settings such as the background, sun, or hemisphere light. Exact keys vary by pack.
Apply a global tint#
For a vertex-coloured model, changing the shared material colour multiplies every vertex colour. This is useful for a global dusk, damage, selection, or mood tint, but it cannot change one semantic colour by itself.
const { materials } = useGLTF('/environment.glb')
materials.lowpoly.color.set('#8ea6d8')useGLTF caches its result. Mutating a cached material can affect every instance using that material; clone it first when each instance needs an independent tint.
You can apply the scene keys separately:
scene.background = new THREE.Color('#0c1428')
const sun = new THREE.DirectionalLight('#8ea6d8', 0.42)Make precise colour changes#
Editing palettes.json alone does not rewrite an existing GLB. For per-part changes, use one of these when available:
- a configurator GLB with named materials;
- an editable authoring package in Studio; or
- your own DCC or glTF workflow to select and rebuild the affected geometry or materials.
See configurator packs for live material-zone controls.
Choose the right method#
| Goal | Method |
|---|---|
| Tint the whole model | Multiply the material colour |
| Recreate the pack's scene mood | Apply palette background/light values |
| Change one named product zone | Use configurator materials |
| Edit semantic parts or palette roles | Use an available editable edition |
Next steps#
- Configurator packs: swapping material zones — recolour named zones independently.
- What's in an asset pack — understand optional palette data.
Ask us directly — we answer support mail ourselves.