Steam train
A low-poly Victorian 0-6-0 side-tank steam locomotive in bottle green, with a brass-capped chimney, a brass dome, an open cab with spectacle windows and red buffer beams. It has a seamless 4 s running loop: the spoked wheels turn, the coupling and connecting rods sweep round, and smoke puffs over the chimney.

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
- 6,034
- Vertices
- 18,102
- Meshes · materials
- 44 · 44
- Size (W × H × D)
- 2.5 m × 5.1 m × 8.0 m
- File
- GLB · 520 KB
- Animation
- scene-motion · 4.0s
- Style
- Low-poly
- Collection
- Victorian Street
Palette · named materials
- bottle green — boiler barrel, side tanks, cab and bunker sheets, wheel spokes#3a883a
- soot black — smokebox, chimney stack, footplate, tyres, buffers, cylinders#151619
- soot black dark — spectacle glass, firebox backhead, coal, wheel centres#090a0b
- soot black light — cab roof#3a3c40
- brick red — buffer beams, valance, wheel counterweights#c32222
- brick red dark — plate frames#821717
- brick red light — panel lining on tanks, cab and bunker#db5757
- brass — chimney cap, dome, safety valve, whistle, boiler bands, handrails, spectacle rims, tank fillers#b28c34
- mid grey — coupling rods, connecting rods, crossheads, slide bars, crank pins, smoke#7d828c
- warm white — lamps, steam puff at the chimney#f2ede2
- dark wood — brake blocks#3d2a1c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/victorian-street-steam-train/695ce72bf1/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:
Steam train for the Victorian Street 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 Victorian Street kit (Low-poly style, flat-lowpoly direction): Gaslight, soot and shop windows. Use ONLY the kit palette, by name: brick red #c32222, soot black #151619, bottle green #3a883a, brass #b28c34, brick red dark #821717, soot black dark #090a0b, brick red light #db5757, soot black light #3a3c40, 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 `fogLevel` (0–1, default 0.5) for the kit's "Fog level" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Direction: Low-poly · family vehicles
- three-check PASS · glb-lint PASS
Named parts · 21
- Steam train
- Frames, footplate and buffer beams
- Buffers and couplings
- Boiler, smokebox and dome
- Chimney
- Side tanks
- Cab and coal bunker
- Lamps
- Cylinders and slide bars
- Front wheels
- Driving wheels
- Rear wheels
- Coupling rod (left)
- Crosshead and piston rod (left)
- Connecting rod (left)
- Coupling rod (right)
- Crosshead and piston rod (right)
- Connecting rod (right)
- Smoke puff 1
- Smoke puff 2
- Smoke puff 3
Note: Size: 8.0 m long over the buffers, 2.44 m wide and 3.81 m tall to the chimney cap. With the default smoke plume the GLB is 5.13 m tall. The wheels are 1.2 m across on three coupled axles 1.6 m apart. The origin is at the bottom centre, every tyre rests on y = 0 and the smokebox front faces +Z. No track is included. The GLB has 6,034 triangles in 44 meshes. Every material is named exactly after its Victorian Street palette colour. The exporter writes one material per mesh, so the same colour name appears on several materials: recolour by name. Warm white is mildly emissive so the lamps look lit. The baked clip scene-motion (4 s, seamless) moves only parts on their own pivots: the wheelsets turn 2 whole turns on their axles; each coupling rod translates with its crank pins without rotating; each crosshead slides along its cylinder axis and its connecting rod swings on the crosshead pin, with the tail on the main crank pin. The right-hand cranks are 90° ahead of the left, as on a real engine. The smoke puffs swell and shrink with 4 exhaust beats per wheel turn. The frames, boiler and cab never move. The tyres have 16 facets, so while they roll the contact point rises and falls by about 12 mm. The export snapshots a mid-loop frame (t = 2 s), so the glTF's static node pose is a frame from the clip, not t = 0. Play the clip, or seek it to 0, for the rest pose. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. fogLevel (the kit's 'Fog level') sets how much smoke hangs over the chimney: 0 is a cold engine with no smoke, 0.5 gives 3 puffs, and 1 gives 5 larger puffs. chimneyHeight sets the stack height (0.75–1.35 m). wheelTurns sets how many whole turns the wheels make per 4 s loop, which is the running speed. The smoke puffs are separate nodes that sit over the chimney and overlap each other. glb-lint: 0 errors and 6 heuristic warnings. Two come from the per-mesh materials (material count and duplicates). One flags non-indexed geometry, which is deliberate flat shading. One flags overlaps where frames, footplate and fittings are deliberately nested. One flags 'detached' parts: each sits alone in its own group, but they rest on each other. The last flags the height against the direction's 1 m reference. The 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. It passes on a de-hyphenated copy. three-check accepts those ids, and all 21 survive the GLB reload.
About the Steam train 3D model
Steam train is a free animated low-poly 3D model from the Victorian Street set. It measures 2.5 m × 5.1 m × 8.0 m (W × H × D) at real-world scale and is built from 6,034 triangles across 44 meshes, with 21 named parts and a baked animation (4.0 s). Download the 520 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Steam 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), 520 KB: 6,034 triangles, 18,102 vertices and 44 materials, modelled in metres at 2.5 m × 5.1 m × 8.0 m.
- Is Steam train 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 Steam 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 Victorian Street →
Hand barrow
Victorian Street2,400 tris

Hansom cab
Victorian Street2,840 tris

Omnibus
Victorian Street3,840 tris

Railings
Victorian Street724 tris

Post box
Victorian Street676 tris

Coal sacks
Victorian Street1,574 tris

Posters
Victorian Street1,032 tris

Market barrows
Victorian Street4,174 tris
Free under the 1DesignTool 3D library license. Model #48 of 1281.