Treadmill belt
A low-poly gym treadmill. A dark slatted running belt runs between court-blue footrails, with a motor hood, two uprights, side handrails and a tilted console with a program display. It includes a seamless 3.9 s loop of the belt running.

Left rail: colours and the 3 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
- 1,564
- Vertices
- 4,692
- Meshes · materials
- 76 · 76
- Size (W × H × D)
- 86 cm × 1.5 m × 2.0 m
- File
- GLB · 555 KB
- Animation
- scene-motion · 3.9s
- Style
- Low-poly
- Collection
- Sports Centre
Palette · named materials
- court blue: side rails#2e67b8
- court blue dark: motor hood, console housing, marker slats#1f457a
- energy orange: stop button, roller hub markers, sport accent (hood stripe, program bars, grip bands)#ed7e1d
- mid grey: footrails, deck board, roller drums, uprights, handrail tubes#7d828c
- soot black: tread slats, feet and end caps, hood base, axles, hubs, screen, grips#1b1b22
- warm white: console keys#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-treadmill-belt/4cf2d93a93/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:
Treadmill belt 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.26M tokens (93% cached) · ≈ $3.07 at API prices · weekly plan +1%
- Direction: Low-poly · family abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 10
- Treadmill
- Frame
- Deck board
- Tread belt
- Front roller
- Rear roller
- Motor hood
- Uprights
- Console
- Handrails
Note: Size at the defaults: 0.86 m wide (across the handrail grips) × 1.46 m tall (top of the console) × 1.98 m long. The tread is 0.49 m wide, its top is 0.22 m off the floor, and the rollers are 1.45 m apart. The origin is at the bottom centre on y = 0. The front (+Z) is the step-on end; the console is at the back (-Z), so a runner faces -Z. The GLB has 1,564 triangles in 76 meshes. Animation clip 'scene-motion' is 3.89 s, baked at 60 fps. In each loop the belt runs exactly 2 laps, so every one of the 54 slat nodes ends where it started and nothing jumps at the loop point. The tread top moves toward +Z. Each roller pivots on its axle and makes 19 whole turns per loop, about 1% faster than pure rolling, so the loop closes. The frame, deck, hood, uprights, console and handrails never move. Every material is named exactly after a kit palette colour; 6 of the 12 are used (white, the four woods and court blue light are not used at the defaults). The exporter writes one material per mesh, so the same colour name appears on several materials: recolour by name. sportOnCourt (the kit's 'Sport on court') sets the accent on the hood stripe, the console program bars and the grip end bands in three steps: court blue light below 0.34, energy orange up to 0.67, wood light (the sprung-floor colour) above. It also morphs the program bar graph smoothly, from a flat walking profile at 0 to a spiky interval profile at 1. beltLength (1.3–1.7 m) stretches the deck, rails and belt. beltSpeed (2–12 km/h) sets the belt pace; the loop length follows it and runs 1–4 whole laps, so the clip stays between 3 and 6.7 s. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. Only the defaults were rendered and checked. Normals are baked flat (non-indexed geometry). glb-lint: 0 errors and 5 heuristic or direction warnings. Two come from the per-mesh materials (material count over the direction default, duplicate names). One flags non-indexed primitives, which is deliberate flat shading. One flags overlaps where the axles pass through the drums, hubs and rails by design. One flags the slats and deck board as 'detached' because the slats ride in their own nodes and the deck edges are seated in the rails, which belong to another group. Its verdict reads UNVERIFIED only because no 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; with the ids substituted it passes. three-check accepts the real ids, and all planned ids survive the GLB reload.
About the Treadmill belt 3D model
Treadmill belt is a free animated low-poly 3D model from the Sports Centre set. It measures 86 cm × 1.5 m × 2.0 m (W × H × D) at real-world scale and is built from 1,564 triangles across 76 meshes, with 10 named parts and a baked animation (3.9 s). Download the 555 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Treadmill belt 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), 555 KB: 1,564 triangles, 4,692 vertices and 76 materials, modelled in metres at 86 cm × 1.5 m × 2.0 m.
- Is Treadmill belt animated?
- Yes — the GLB carries a baked animation (3.9 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 Treadmill belt 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 #50 of 1378.







