Checkout Counter
A supermarket checkout lane at real counter height (86 cm): a conveyor belt with groceries and a divider bar, a scanner bed with a scan tower, a register screen facing the cashier side (-Z) and a customer display and card reader facing the shopper (+Z), a cash drawer that slides out, a lower bagging area with paper bags and a lane light on a pole. Screens glow at night.
- Size
- 3.5 × 2.3 × 0.64 m
- Triangles
- 1,340
Tune it
4 knobs: Belt length, Panels, Groceries, Lane light.
Specs
- Size
- 3.5 × 2.3 × 0.64 m width × height × depth
- Triangles
- 1,340 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 2 belt · slide, cash_drawer · slide
- Knobs
- 4 3 presets
- Night lights
- 3 screen, lanelight, scanlight
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/checkout-counter.mjs';
const checkoutCounter = createAsset();
scene.add(checkoutCounter); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/checkout-counter.mjs';
export function CheckoutCounter() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import checkout-counter.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://checkout-counter.glb").instantiate())// Import checkout-counter.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": "checkout-counter", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
belt | range | 1.2 to 2.6, step 0.1 | 1.8 | Conveyor belt length in metres, 1.2 to 2.6. The scanner station (70 cm) and bagging area (1 m) are added on, so the lane is 2.9 to 4.3 m long. |
panel | choice | grey white red green blue | green | Colour of the counter body panels: grey, white, red, green or blue. The lane light and front stripe take the same colour. |
groceries | toggle | on / off | true | A shopping order on the belt (box, bottle, carton, cans, apples) behind a divider bar, and filled paper bags in the bagging area. |
laneLight | toggle | on / off | true | A 2.1 m pole at the start of the lane with a blank light box that glows at night to show the lane is open. |
Presets: busy saturday {"belt":2.4,"panel":"red","groceries":true,"laneLight":true} · express lane {"belt":1.2,"panel":"blue","groceries":true,"laneLight":true} · closed lane {"belt":1.8,"panel":"grey","groceries":false,"laneLight":false}
Files
| File | What |
|---|---|
| checkout-counter.glb | GLB, default look · 202 KB |
| checkout-counter.mjs | ES module, every knob live |
| checkout-counter.obj | OBJ, static, no colour |
| checkout-counter-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.