ATM
A generic automated teller machine at real size (1.55 m tall, 60 cm wide): a lobby kiosk on a safe cabinet, or a through-the-wall unit set in a stone surround with a canopy. Hooded fascia with privacy cheeks, a recessed screen with side function keys, a card reader with a lit throat, a receipt slot, a shielded 4 x 4 PIN pad on a sloped shelf, and a cash dispenser whose shutter slides down (rigged cash_shutter) to present a stack of notes. An optional lit blank topper sign; no bank branding, logos or text. Screen, card light and topper glow at night.
- Size
- 0.66 × 1.8 × 0.83 m
- Triangles
- 1,368
Tune it
5 knobs: Finish, Mount, Accent, Topper, Cash out.
Specs
- Size
- 0.66 × 1.8 × 0.83 m width × height × depth
- Triangles
- 1,368 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 cash_shutter · slide
- Knobs
- 5 3 presets
- Night lights
- 3 screen, cardlight, topper
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/atm-machine.mjs';
const atmMachine = createAsset();
scene.add(atmMachine); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/atm-machine.mjs';
export function AtmMachine() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import atm-machine.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://atm-machine.glb").instantiate())// Import atm-machine.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": "atm-machine", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
finish | choice | modern graphite retro neon | modern | modern (brushed silver cabinet with a charcoal fascia and a blue menu), graphite (all dark with a teal menu), retro (1990s beige with a green text-mode screen), neon (dark sci-fi kiosk with magenta and cyan glow strips). |
mount | choice | kiosk wall | kiosk | kiosk (freestanding lobby machine on its safe cabinet) or wall (a through-the-wall unit set in a 1.4 m stone surround with a small canopy, like outside a bank or shop). |
accent | choice | blue green red orange cyan | blue | Colour of the side stripe, the topper sign and the hood edge: blue, green, red, orange or cyan. |
topper | toggle | on / off | true | A lit blank sign box on top (kiosk) or above the opening (wall); no text or logo. |
cash | toggle | on / off | false | A stack of notes presented in the dispenser slot, as if the shutter just opened. |
Presets: bank lobby {"finish":"modern","mount":"kiosk","accent":"blue","topper":true} · street cashpoint {"finish":"graphite","mount":"wall","accent":"green","topper":true,"cash":true} · cyber terminal {"finish":"neon","mount":"kiosk","accent":"cyan","topper":true}
Files
| File | What |
|---|---|
| atm-machine.glb Pro | GLB, default look · 194 KB |
| atm-machine.mjs Pro | ES module, every knob live |
| atm-machine.obj Pro | OBJ, static; colours in the .mtl |
| atm-machine.mtl | OBJ colours; keep it next to the .obj |
| atm-machine-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.