Cash Register
A countertop cash register at real size (41 cm wide, 42 cm deep): a chamfered drawer base with a cash drawer that slides out toward the cashier (+Z) showing seeded banknotes and coins in their compartments, topped by a modern touchscreen POS terminal on a tilting stand with a rear customer display, a receipt printer with a paper curl and a card reader, or by a vintage brass register with rows of round keys, blank pop-up flags and a side crank. Screens glow at night. No text or logos.
- Size
- 0.42 × 0.47 × 0.44 m
- Triangles
- 1,832
Tune it
5 knobs: Finish, Receipt printer, Card reader, Cash, Seed.
Specs
- Size
- 0.42 × 0.47 × 0.44 m width × height × depth
- Triangles
- 1,832 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 cash_drawer · slide
- Knobs
- 5 3 presets
- Night lights
- 2 screen, led
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/cash-register.mjs';
const cashRegister = createAsset();
scene.add(cashRegister); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/cash-register.mjs';
export function CashRegister() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import cash-register.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://cash-register.glb").instantiate())// Import cash-register.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": "cash-register", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
finish | choice | modern boutique retro neon | modern | modern (light grey touchscreen POS terminal with a blue UI), boutique (walnut drawer base with a slim tablet on a brass-trimmed swivel stand), retro (a vintage brass register with rows of round keys, pop-up flags and a crank on a dark wood base), neon (graphite POS with glowing cyan edge strips and a sci-fi UI). |
printer | toggle | on / off | true | A small receipt printer on the base with a curl of paper coming out of its slot (not on the retro register, which keeps its crank side clear). |
cardReader | toggle | on / off | true | A keypad card terminal in a tilted cradle at the front left corner (the retro register has no room for one). |
cash | toggle | on / off | true | Banknotes in the bill slots and coins in the coin cups of the drawer; visible when the drawer slides out. |
seed | range | 1 to 30, step 1 | 3 | Shuffles how full each bill slot and coin cup is. |
Presets: corner shop {"finish":"modern","printer":true,"cardReader":true,"cash":true} · antique till {"finish":"retro","cardReader":false,"cash":true,"seed":7} · night market terminal {"finish":"neon","printer":true,"cardReader":true,"seed":12}
Files
| File | What |
|---|---|
| cash-register.glb Pro | GLB, default look · 254 KB |
| cash-register.mjs Pro | ES module, every knob live |
| cash-register.obj Pro | OBJ, static; colours in the .mtl |
| cash-register.mtl | OBJ colours; keep it next to the .obj |
| cash-register-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.