Zoo train
A low-poly trackless zoo train: a little steam-style locomotive with a flared black funnel and dark green boiler pulling two open coaches with bench seats under canopy roofs. It comes with a seamless 6 s loop in which the wheels roll, the bell swings and smoke puffs from the funnel.

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
- 3,612
- Vertices
- 10,836
- Meshes · materials
- 74 · 10
- Size (W × H × D)
- 1.8 m × 3.2 m × 11 m
- File
- GLB · 441 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Zoo
Palette · named materials
- livery (forest) — leaf green#3a883a
- livery (savanna) — sand#d1bd94
- boiler & cab roof — leaf green dark#235223
- trim, bands, hubs, bell — sign yellow#eecd2b
- tyres, chassis, funnel — soot black#1b1b22
- footplate, drawbars, smokebox door — mid grey#7d828c
- canopy roofs, headlamp lens — warm white#f2ede2
- benches, canopy posts — timber#765232
- coach decks, seat pedestal — dark wood#3d2a1c
- smoke — sand light#e6ddcb
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/zoo-zoo-train/687472060f/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:
Zoo train for the Zoo 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 Zoo kit (Low-poly style, flat-lowpoly direction): Enclosures and winding paths. Use ONLY the kit palette, by name: leaf green #3a883a, sand #d1bd94, timber #765232, sign yellow #eecd2b, leaf green dark #235223, sand dark #ba9c5e, leaf green light #5db15d, sand light #e6ddcb, 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 `habitatMix` (0–1, default 0.5) for the kit's "Habitat mix" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 6.31M tokens (96% cached) · ≈ $3.89 at API prices · 5-hour plan +15%
- Direction: Low-poly · family vehicles
- three-check PASS · glb-lint PASS
Named parts · 40
- Zoo train
- Locomotive
- Loco chassis
- Boiler
- Smokebox
- Funnel
- Steam dome
- Bell
- Cab
- Cab roof
- Cowcatcher
- Headlamp
- Smoke puff 1
- Smoke puff 2
- Smoke puff 3
- Smoke puff 4
- Loco wheel rear left
- Loco wheel rear right
- Loco wheel front left
- Loco wheel front right
- Coach 1
- Coach 1 chassis
- Coach 1 body
- Coach 1 benches
- Coach 1 canopy
- Coach 1 drawbar
- Coach 1 wheel front left
- Coach 1 wheel front right
- Coach 1 wheel rear left
- Coach 1 wheel rear right
- Coach 2
- Coach 2 chassis
- Coach 2 body
- Coach 2 benches
- Coach 2 canopy
- Coach 2 drawbar
- Coach 2 wheel front left
- Coach 2 wheel front right
- Coach 2 wheel rear left
- Coach 2 wheel rear right
Note: Default build is 10.59 m long × 1.77 m wide × 2.60 m tall (smoke plume reaches ~3.06 m), metres, +Y up, front (locomotive) faces +Z, origin at bottom centre on y = 0. 3,612 triangles, 74 meshes, 10 materials named exactly after Zoo palette colours, flat per-face normals baked in so the facets survive in any engine. One clip 'scene-motion' (6 s, seamless): rear drivers (r 0.45 m) turn 2× and all r 0.30 m wheels 3× per loop at the same road speed, each pivot on its axle; the bell swings on its yoke; four smoke puffs rise from the funnel. The chassis never move; the train rolls in place. The params rebuild the model in the viewer only; the GLB is the default (2 coaches, 3 bench rows, habitatMix 0.5). habitatMix sets how many units wear forest green vs savanna sand livery (0 = all sand, 1 = all green, 0.5 = alternating). Because the static node pose is the exporter's last captured frame (t = 5 s), wheels are rotated in the un-animated pose; the true geometry rests on y = 0. glb-lint's grounding warning (−0.165 m) is a rotated-bounding-box artefact, not real geometry. glb-lint: 0 errors, 5 heuristic warnings (tool verdict UNVERIFIED only because no requirements contract was supplied); the other warnings (non-indexed flat-shaded meshes, nested/contacting parts across groups) are by design.
About the Zoo train 3D model
Zoo train is a free animated low-poly 3D model from the Zoo set. It measures 1.8 m × 3.2 m × 11 m (W × H × D) at real-world scale and is built from 3,612 triangles across 74 meshes, with 40 named parts and a baked animation (6.0 s). Download the 441 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Zoo train 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), 441 KB: 3,612 triangles, 10,836 vertices and 10 materials, modelled in metres at 1.8 m × 3.2 m × 11 m.
- Is Zoo train 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 Zoo train 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 Zoo →Free under the 1DesignTool 3D library license. Model #94 of 1378.







