Toy train
A chunky low-poly toy steam train for a child's bedroom. It has a sky-blue engine with a yellow funnel and a coral cab, pulling an open yellow wagon of toy blocks. It has a seamless 4 s loop: the wheels turn, the side rods sweep round and the little bell swings.

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
- 2,300
- Vertices
- 6,900
- Meshes · materials
- 41 · 41
- Size (W × H × D)
- 19 cm × 27 cm × 65 cm
- File
- GLB · 236 KB
- Animation
- scene-motion · 4.0s
- Style
- Low-poly
- Collection
- Kids' Bedroom
Palette · named materials
- sky blue — boiler barrel#2e67b8
- sky blue dark — chassis, footplate, smokebox, cab roof, wagon decks#1f457a
- sky blue light — toy blocks#6190d1
- sunshine yellow — funnel, dome, boiler bands, cowcatcher, wheel discs, wagon sides, bell#eecd2b
- sunshine yellow dark — bell yoke#bda00f
- coral — cab, buffer beams, smokebox door, funnel cap, wheel caps, wagon rim, blocks#e2715a
- white — lamps, blocks#f4f1ec
- soot black — tyres, axles, buffers, couplings, windows#1b1b22
- mid grey — side rods, crank pins#7d828c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/kids-bedroom-toy-train/5afea6e69d/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:
Toy train for the Kids' Bedroom 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 Kids' Bedroom kit (Low-poly style, flat-lowpoly direction): Toys, bunk beds and a fort. Use ONLY the kit palette, by name: sky blue #2e67b8, sunshine yellow #eecd2b, coral #e2715a, white #f4f1ec, sky blue dark #1f457a, sunshine yellow dark #bda00f, sky blue light #6190d1, sunshine yellow light #f0db75, 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 `ageOfChild` (0–1, default 0.5) for the kit's "Age of child" 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 · 17
- Toy train
- Chassis and buffer beams
- Cowcatcher
- Boiler, smokebox and dome
- Chimney
- Cab
- Cab roof
- Lamps
- Bell
- Front wheels
- Rear wheels
- Side rod (left)
- Side rod (right)
- Wagon 1
- Wagon 1 blocks
- Wagon 1 front wheels
- Wagon 1 rear wheels
Note: Size at the default ageOfChild 0.5: 0.65 m long (engine plus one wagon), 0.19 m wide and 0.272 m tall to the funnel cap. The wheels are 84 mm across. The origin is at the bottom centre, every tyre rests on y = 0, and the cowcatcher faces +Z. The GLB has 2,300 triangles in 41 meshes, and no track is included. Every material is named exactly after its Kids' Bedroom palette colour. 9 of the 12 colours are used; warm white, dark wood and sunshine yellow light are not. The exporter writes one material per mesh, so the same colour name appears on several materials: recolour by name. The baked clip scene-motion (4 s, seamless) moves only parts on their own pivots. Every wheelset turns 2 whole turns on its axle. The side rods translate with the crank pins without rotating, with the right-hand cranks 90° ahead of the left. The bell swings 4 times on its yoke pin. The chassis, boiler, cab and wagon never move. The export snapshots the t = 2 s frame, so the glTF's static node pose is a frame from the clip: 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. ageOfChild (the kit's 'Age of child' setting) scales the whole toy, from 0.52 m long at 0 (toddler) to 0.78 m at 1. wagons sets 0–3 coupled wagons, each with its own blocks. wheelTurns sets the running speed. bellSwing sets the bell's swing angle, up to 0.5 rad. plan-check passes on a de-hyphenated copy of the plan. Its part-id regex rejects the hyphens in the slug-based ids this library requires, but three-check accepts them. glb-lint reports 0 errors and 6 heuristic warnings: per-mesh material instances, non-indexed (deliberately flat-shaded) geometry, deliberately nested chassis parts, 'detached' parts (each sits alone in its own group but rests on its neighbours), and the height against the direction's 1 m reference. That height is expected for a 0.27 m toy. The verdict reads UNVERIFIED only because no requirements contract was supplied.
About the Toy train 3D model
Toy train is a free animated low-poly 3D model from the Kids' Bedroom set. It measures 19 cm × 27 cm × 65 cm (W × H × D) at real-world scale and is built from 2,300 triangles across 41 meshes, with 17 named parts and a baked animation (4.0 s). Download the 236 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Toy 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), 236 KB: 2,300 triangles, 6,900 vertices and 41 materials, modelled in metres at 19 cm × 27 cm × 65 cm.
- Is Toy 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 Toy 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 Kids' Bedroom →
Wind-up robot
Kids' Bedroom1,408 tris

Rocking horse
Kids' Bedroom2,004 tris

Mobile
Kids' Bedroom3,084 tris

Train set
Kids' Bedroom3,220 tris

Drawings
Kids' Bedroom1,812 tris

Desk
Kids' Bedroom748 tris

Night lights
Kids' Bedroom896 tris

Books
Kids' Bedroom940 tris
Free under the 1DesignTool 3D library license. Model #22 of 1442.