Ball machine
A low-poly tennis ball machine on a court-blue wheeled trolley, with a white hopper heaped with orange balls and a swivelling launch head. Its baked 4-second loop sweeps the head side to side while the twin throw wheels spin.

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
- 4,124
- Vertices
- 12,372
- Meshes · materials
- 30 · 30
- Size (W × H × D)
- 58 cm × 90 cm × 96 cm
- File
- GLB · 346 KB
- Animation
- scene-motion · 4.0s
- Style
- Low-poly
- Collection
- Sports Centre
Palette · named materials
- body#2e67b8
- trim#1f457a
- shell#f4f1ec
- accent#ed7e1d
- rubber#1b1b22
- metal#7d828c
- mark#f2ede2
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/sports-centre-ball-machine/c104fc1f79/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:
Ball machine for the Sports Centre 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 Sports Centre kit (Low-poly style, flat-lowpoly direction): Courts, pool and gym. Use ONLY the kit palette, by name: court blue #2e67b8, wood #7d5736, white #f4f1ec, energy orange #ed7e1d, court blue dark #1f457a, wood dark #47321f, court blue light #6190d1, wood light #ac7d53, 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 `sportOnCourt` (0–1, default 0.5) for the kit's "Sport on court" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 3.10M tokens (92% cached) · ≈ $3.32 at API prices · weekly plan +0%
- Direction: Low-poly · family abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 16
- Ball machine
- Body
- Control panel
- Wheels
- Front feet
- Handle
- Hopper
- Balls
- Turntable
- Swivel
- Yoke
- Launch head
- Left throw wheel
- Right throw wheel
- Nozzle
- Seated ball
Note: Real-world size about 0.56 m wide (across the wheels) × 0.90 m tall (handle grip) × 0.95 m deep (handle to nozzle); origin at the bottom centre, nozzle faces +Z. 4124 triangles. Materials are named after the Sports Centre palette colours (court blue, court blue dark, white, energy orange, soot black, mid grey, warm white). The exporter writes one material per mesh, so the GLB has 30 materials that share those 7 names; recolour by name. sportOnCourt sets the ball load (0 = one layer, 0.5 = full to the rim, 1 = heaped crown) and the sweep width of the head (about ±14° to ±40°). The GLB stores the default ball load and sweep. The baked 4 s loop yaws the swivel, nods the head on its yoke pin and spins the throw wheels on their axles; the trolley never moves. glb-lint reports 0 errors and 5 advisory warnings (duplicate per-mesh materials, non-indexed flat-shaded geometry, intended nesting and contact). The design-plan scene ids follow the library's required hyphenated slug, which the kit's plan-check id pattern rejects; an otherwise-identical copy with the hyphens removed passes plan-check.
About the Ball machine 3D model
Ball machine is a free animated low-poly 3D model from the Sports Centre set. It measures 58 cm × 90 cm × 96 cm (W × H × D) at real-world scale and is built from 4,124 triangles across 30 meshes, with 16 named parts and a baked animation (4.0 s). Download the 346 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Ball machine 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), 346 KB: 4,124 triangles, 12,372 vertices and 30 materials, modelled in metres at 58 cm × 90 cm × 96 cm.
- Is Ball machine animated?
- Yes — the GLB carries a baked animation (4.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 Ball machine 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 Sports Centre →Free under the 1DesignTool 3D library license. Model #57 of 1378.







