Bathroom Set
A complete bathroom run along a back wall at real size: a fitted bathtub with a shower over it, a freestanding clawfoot tub or a glass shower cubicle whose door swings (shower_door), a vanity basin with cupboard doors (door_0, door_1) and a lit mirror, and a toilet whose seat and lid lift (seat, lid). Optional tiled wall and floor; the mirror light glows at night.
- Size
- 3.9 × 2.4 × 1.7 m
- Triangles
- 2,400
Tune it
4 knobs: Bath or shower, Vanity, Tiles, Walls.
Specs
- Size
- 3.9 × 2.4 × 1.7 m width × height × depth
- Triangles
- 2,400 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 4 lid · rotate, seat · rotate, door_0 · rotate, door_1 · rotate
- Knobs
- 4 3 presets
- Night lights
- 1 light
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/bathroom-set.mjs';
const bathroomSet = createAsset();
scene.add(bathroomSet); // rests on y = 0, front faces +Z
// 'lid' pivots on its hinge: -100° to 0° around x
bathroomSet.getObjectByName('lid').rotation.x = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/bathroom-set.mjs';
export function BathroomSet() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import bathroom-set.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$BathroomSet/lid.rotation_degrees.x = -100// Import bathroom-set.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("lid").localEulerAngles = new Vector3(/* x: */ -100, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "bathroom-set", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
bathing | choice | bathtub clawfoot shower | bathtub | bathtub (a 1.7 m panelled tub against the wall with a shower head and a curtain rail), clawfoot (a freestanding roll-top tub on four feet), shower (a 90 cm glass cubicle with a hinged door). |
vanity | choice | white oak navy sage | oak | Vanity cabinet finish: white, oak, navy or sage, with a white basin and a chrome mixer tap. |
tiles | choice | white mint terracotta charcoal | white | Wall and floor tile colour: white (metro tiles), mint, terracotta or charcoal. |
walls | toggle | on / off | true | A tiled back wall (half tiled, painted above) and a tiled floor slab under everything. Off gives the bare fixtures to place in your own room. |
Presets: family bathroom {"bathing":"bathtub","vanity":"white","tiles":"mint"} · cottage bath {"bathing":"clawfoot","vanity":"sage","tiles":"terracotta"} · city en-suite {"bathing":"shower","vanity":"navy","tiles":"charcoal"}
Files
| File | What |
|---|---|
| bathroom-set.glb | GLB, default look · 344 KB |
| bathroom-set.mjs | ES module, every knob live |
| bathroom-set.obj | OBJ, static, no colour |
| bathroom-set-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.