Phone Booth
A generic public telephone: a classic painted booth with small-pane glazing and a lit roof band, a modern steel-and-glass booth, or an open acoustic hood on a post. The enclosed booths have a working door (rigged part "door", rotates on y). About 2.5 m tall, 1 m square; the lit band shows a handset pictogram, never text.
- Size
- 1.1 × 2.9 × 1.1 m
- Triangles
- 940
- Kit
- City Street
Tune it
4 knobs: Style, Colour, Handset sign, Phones.
Specs
- Size
- 1.1 × 2.9 × 1.1 m width × height × depth
- Triangles
- 940 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 door · rotate
- Knobs
- 4 3 presets
- Night lights
- 2 light, keypad
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/phone-booth.mjs';
const phoneBooth = createAsset();
scene.add(phoneBooth); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -100° to 0° around y
phoneBooth.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/phone-booth.mjs';
export function PhoneBooth() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import phone-booth.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$PhoneBooth/door.rotation_degrees.y = -100// Import phone-booth.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door").localEulerAngles = new Vector3(/* y: */ -100, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "phone-booth", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | classic modern hood | classic | classic (painted booth with small glass panes, a stepped roof and a lit band on every side), modern (slim steel frame, full-height glass, flat roof), hood (open acoustic hood on a post, no door, for a station wall or a sidewalk). |
colour | choice | red green blue yellow grey | red | Paint of the frame, door and roof: red, green, blue, yellow, grey. Modern booths keep a steel frame and use the colour for the roof band. |
pictogram | toggle | on / off | true | Show a white handset pictogram on the lit roof band (no words). Off leaves a plain lit band. |
phones | choice | 1 2 | 1 | One booth, or two side by side sharing a wall (classic and modern), or two hoods on one post. |
Presets: old town box {"style":"classic","colour":"green"} · station pair {"style":"modern","colour":"blue","phones":2} · roadside hood {"style":"hood","colour":"yellow"}
Files
| File | What |
|---|---|
| phone-booth.glb | GLB, default look · 154 KB |
| phone-booth.mjs | ES module, every knob live |
| phone-booth.obj | OBJ, static, no colour |
| phone-booth-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.