Air hockey puck
A low-poly arcade air hockey puck with a faceted black shell, a cyan LED band round its edge and a raised purple top lens with a hot-pink swirl. It spins in place on a seamless 6-second loop.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 872
- Vertices
- 709
- Meshes · materials
- 7 · 7
- Size (W × H × D)
- 9 cm × 1 cm × 9 cm
- File
- GLB · 51 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Arcade
Palette · named materials
- black: shell#151619
- black dark: glide skid#090a0b
- cyan: LED band#20c6df
- neon purple dark: top lens#611886
- neon purple: lens collar#9123c7
- hot pink: swirl blades#f589ad
- warm white: centre hub#f2ede2
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/arcade-air-hockey-puck/7d5e259011/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Air hockey puck for the Arcade kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Arcade kit (Low-poly style, flat-lowpoly direction): Screens glowing in a dark room. Use ONLY the kit palette, by name: black #151619, neon purple #9123c7, cyan #20c6df, hot pink #f589ad, black dark #090a0b, neon purple dark #611886, black light #3a3c40, neon purple light #b15bdc, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `era` (0–1, default 0.5) for the kit's "Era" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 3.64M tokens (95% cached) · ≈ $2.52 at API prices · 5-hour plan +8%, weekly plan +1%
- Direction: Low-poly · family abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 9
- Air hockey puck
- Glide skid
- Spinning puck
- Shell
- LED band
- Top lens
- Lens collar
- Swirl blades
- Centre hub
Note: Size: a pro-size arcade puck, 0.0825 m (3.25 in) across and 0.008 m tall, so it is tiny next to most library assets. Scale it, don't resize it, if your scene isn't in metres. The origin is at the bottom centre, the underside rests on y = 0 and +Y is up. A puck is round, so it has no real front; the swirl's start pose faces the same way as in the preview. The exported model has 872 triangles in 7 meshes and 7 materials. Each material is named exactly after its Arcade kit palette colour; 7 of the 12 colours are used (neon purple light, black light, soot black, mid grey and dark wood are not). Motion: one baked 6 s clip, 'scene-motion'. The 'puckSpin' node turns twice about the puck's vertical centre axis, with a gentle periodic surge that never runs backwards. The first and last keys are identical, so the loop is seamless. The glide skid (base) and the root keep static keys and never move. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. era (the kit's 'Era' knob) runs from a classic plain puck (thin edge band, small centre lens) at 0 to a modern LED puck (broad cyan band, lens nearly edge to edge) at 1. The cyan band is plain coloured, not emissive, so add glow in your own engine if you want it. three-check also passed at both param extremes (era 0, 2.5 in, 5 mm thick, 1 turn; era 1, 4 in, 12 mm thick, 3 turns). glb-lint: 0 errors and 2 heuristic warnings. One flags nested siblings: the LED band, lens and collar are seated into the shell on purpose. The other flags scale, because 8 mm is far below the 1 m reference height and is correct for a puck. Its verdict reads UNVERIFIED only because no host requirements contract was supplied. plan-check passes except for its part-id regex, which rejects the hyphens in the slug-based ids this library requires. three-check accepts those ids, and all of them survive the GLB reload.
About the Air hockey puck 3D model
Air hockey puck is a free animated low-poly 3D model from the Arcade set. It measures 9 cm × 1 cm × 9 cm (W × H × D) at real-world scale and is built from 872 triangles across 7 meshes, with 9 named parts and a baked animation (6.0 s). Download the 51 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Air hockey puck 3D model free for commercial use?
- Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
- What file format is it, and how big is it?
- A single binary glTF 2.0 file (.glb), 51 KB: 872 triangles, 709 vertices and 7 materials, modelled in metres at 9 cm × 1 cm × 9 cm.
- Is Air hockey puck animated?
- Yes — the GLB carries a baked animation (6.0 s), ready to play with any glTF animation mixer.
- Which engines and tools can open it?
- Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
- How was the Air hockey puck 3D model made?
- Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.
More like this
All of Arcade →Free under the 1DesignTool 3D library license. Model #33 of 1378.







