FREEcommercial use · no sign-up

Spinning top

A faceted wooden spinning top with painted colour bands, a turned spindle handle and a steel-grey point, caught mid-spin. It carries a 6-second seamless loop that spins and precesses around the single point touching the floor.

Spinning top 3D model
This model carries a baked animation clip.

Left rail: colours and the 5 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
600
Vertices
491
Meshes · materials
8 · 8
Size (W × H × D)
12 cm × 12 cm × 12 cm
File
GLB · 40 KB
Animation
scene-motion · 6.0s
Collection
Toy Box

Palette · named materials

  • body#7d5736
  • band-a#c32222
  • bead#f2ede2
  • band-b#eecd2b
  • cap#2e67b8
  • knob#3d2a1c
  • point#7d828c

Use it

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/toy-box-kit-spinning-top/2ab87c81c9/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:

Spinning top for the Toy Box 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 Toy Box kit (Low-poly style, flat-lowpoly direction): A child's floor seen from toy height. Use ONLY the kit palette, by name: primary red #c32222, blue #2e67b8, yellow #eecd2b, wood #7d5736, primary red dark #821717, blue dark #1f457a, primary red light #db5757, blue light #6190d1, 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 `toyEra` (0–1, default 0.5) for the kit's "Toy era" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Opus 5 in 1DesignTool
  • Generation: 9.59M tokens (97% cached) · ≈ $8.51 at API prices · 5-hour plan +14%
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 11

  • Spinning top
  • Tip pivot
  • Spin axis
  • Point
  • Lower body
  • Red band
  • Girth bead
  • Yellow band
  • Cap
  • Spindle
  • Knob

Note: 600 triangles, 8 GLB materials, one 6 s clip named "scene-motion". Real-world scale: 0.122 m tall and 0.090 m across — a chunky child's finger top. Origin is the floor contact point; the model rests on y = 0 and the exported rest pose (t = 0) is the top leaning 4.5 deg mid-spin, so it looks live rather than parked. Material names are the Toy Box palette colour names verbatim (wood, primary red, warm white, yellow, blue, dark wood, mid grey) rather than role names, so the kit recolours by name; the design role is on material.userData.role and listed under "palette" above. The viewer's export path clones one material per mesh, so "wood" appears twice in the GLB (lower body and spindle) — recolouring by name still catches both. Part ids use the "spinningtop." prefix because the kit's part-id grammar does not allow hyphens. toyEra continuously slides the painted band boundaries from vintage turned wood with thin pinstripes (0) to moulded primaries with a single wood line (1), and also tapers the spindle and sizes the knob; no material is ever swapped, so there is no pop anywhere in its range. Animation is rigid-transform only: spinningtop.pivot carries precession plus lean, spinningtop.spinner carries 9 spin revolutions, and both resolve to identical quaternions at t = 0 and t = 6. glb-lint reports one expected heuristic warning — bounds height 0.122 m against the flat-lowpoly manifest's 1 m reference height — which is the subject being a toy, not a unit error.

Free under the 1DesignTool 3D library license. Model #6 of 395.