Bathtub
A full-size bathtub (1.5 to 1.9 m long): a built-in tub with a panelled apron, a tiled-look deck and a deck mixer, a freestanding double-ended slipper tub with a floor-standing mixer and hand shower, or a roll-top clawfoot tub on four cast feet with a gooseneck tap; white enamel inside, an outer shell in white, brushed steel, black or retro mint. Optional bath water with bubbles and a rubber duck; candles on the deck glow at night.
- Size
- 1.9 × 1.0 × 0.84 m
- Triangles
- 1,016
Tune it
5 knobs: Style, Length, Finish, Fittings, Water.
Specs
- Size
- 1.9 × 1.0 × 0.84 m width × height × depth
- Triangles
- 1,016 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 candle
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/bathtub.mjs';
const bathtub = createAsset();
scene.add(bathtub); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/bathtub.mjs';
export function Bathtub() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import bathtub.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://bathtub.glb").instantiate())// Import bathtub.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": "bathtub", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | built-in freestanding clawfoot | freestanding | built-in (an alcove tub with a panelled apron and a flat deck, to fit between walls), freestanding (a modern double-ended slipper tub with raised ends) or clawfoot (a Victorian roll-top tub on four claw feet). |
length | range | 1.5 to 1.9, step 0.05 | 1.7 | Tub length in metres: 1.5 is a compact bath, 1.7 standard, 1.9 a long soaking tub. Width stays about 75-80 cm. |
finish | choice | white stainless black retro | white | Outer shell or apron panel: white, stainless (brushed steel), black, or retro (pastel mint). The inside is always white enamel. |
fittings | choice | chrome brass black | chrome | Metal of the taps, spout, hand shower and claw feet: chrome, brass or black. |
water | toggle | on / off | true | Filled with water, foam bubbles and a rubber duck. Off shows the empty enamel tub with its drain. |
Presets: spa soak {"style":"freestanding","finish":"black","fittings":"brass","length":1.8} · family bath {"style":"built-in","finish":"white","fittings":"chrome","length":1.7} · cottage clawfoot {"style":"clawfoot","finish":"retro","fittings":"brass","water":false}
Files
| File | What |
|---|---|
| bathtub.glb | GLB, default look · 156 KB |
| bathtub.mjs | ES module, every knob live |
| bathtub.obj | OBJ, static; colours in the .mtl |
| bathtub.mtl | OBJ colours; keep it next to the .obj |
| bathtub-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.