Dresser
A chest of drawers at real size (48 cm deep, 0.8 to 1.6 m wide, 2 to 5 rows of drawers): a chamfered carcass with an overhanging top, a shadow line and a dark back, inset drawer fronts that slide out on drawer boxes (drawer_0..), in four styles that match the rest of the Home Furniture kit: scandi oak (round knobs, tapered legs), mid-century walnut (grip grooves with brass lips, splayed legs with brass caps), white modern (black bar pulls on black hairpin legs) or rustic pine (raised panels, iron cup pulls, bun feet). Wide dressers split the top row in two. A vase of stems, books and a dish can sit on top.
- Size
- 1.0 × 1.3 × 0.52 m
- Triangles
- 1,306
Tune it
5 knobs: Style, Width, Drawer rows, Legs, Decor.
Specs
- Size
- 1.0 × 1.3 × 0.52 m width × height × depth
- Triangles
- 1,306 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 3 drawer_0 · slide, drawer_1 · slide, drawer_2 · slide
- Knobs
- 5 3 presets
- Night lights
- 0 none
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/dresser.mjs';
const dresser = createAsset();
scene.add(dresser); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/dresser.mjs';
export function Dresser() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import dresser.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://dresser.glb").instantiate())// Import dresser.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "dresser", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | scandi oak mid-century walnut white modern rustic pine | scandi oak | scandi oak (pale oak, round black knobs, tapered legs), mid-century walnut (dark walnut, long grip grooves with brass lips, splayed legs with brass caps), white modern (matt white, black bar pulls, black hairpin legs), rustic pine (honey pine, framed raised-panel fronts, iron cup pulls, bun feet). The same styles exist on every Home Furniture piece. |
width | range | 0.8 to 1.6, step 0.1 | 1 | Width in metres, 0.8 to 1.6. From 1.2 the top row is split into two small drawers. |
drawers | range | 2 to 5, step 1 | 3 | Rows of drawers, 2 (a low 60 cm lowboy) to 5 (a 1.2 m tallboy). Each row is 19 cm tall. |
legs | choice | auto tapered splayed hairpin plinth bun | auto | auto (the style's own legs), tapered (round tapered legs), splayed (angled mid-century legs with brass caps), hairpin (black steel wire legs), plinth (a recessed base, no legs), bun (turned bun feet). |
decor | toggle | on / off | true | A vase with stems, a stack of two books and a small dish on top. Off leaves the top bare. |
Presets: bedroom oak {"style":"scandi oak","width":1,"drawers":3} · mid-century lowboy {"style":"mid-century walnut","width":1.6,"drawers":2,"legs":"splayed"} · farmhouse tallboy {"style":"rustic pine","width":0.9,"drawers":5,"legs":"bun","decor":false}
Files
| File | What |
|---|---|
| dresser.glb Pro | GLB, default look · 220 KB |
| dresser.mjs Pro | ES module, every knob live |
| dresser.obj Pro | OBJ, static; colours in the .mtl |
| dresser.mtl | OBJ colours; keep it next to the .obj |
| dresser-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.