Spear thrower
A low-poly Stone Age spear thrower (atlatl) loaded with a flint-tipped, fletched dart, held at its grip on a forked stake in a stone slab. The thrower and dart rock through a throwing arc on the peg in a seamless 6 s loop.

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
- 844
- Vertices
- 2,532
- Meshes · materials
- 22 · 22
- Size (W × H × D)
- 56 cm × 78 cm × 1.5 m
- File
- GLB · 95 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Stone Age Camp
Palette · named materials
- base — atlatl board#bf9769
- trim — grip wraps, finger loops, point binding#9a7142
- trim — antler spur, light fletching#d2bca2
- accent — painted bands, thong wraps#bd8728
- accent — dart shaft, peg, dark band#7e5a1b
- base — bannerstone, wedge stones#34383d
- trim — dark fletching#1b1b22
- base — stone slab, flint point#7d828c
- earth — forked stake#3d2a1c
- foliage — moss tufts (forest side of the climate knob)#55743e
- accent — snow (ice side of the climate knob)#f2ede2
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/stone-age-camp-spear-thrower/4ff87cc3f6/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:
Spear thrower for the Stone Age Camp 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 Stone Age Camp kit (Low-poly style, flat-lowpoly direction): Hide tents at the edge of the ice. Use ONLY the kit palette, by name: hide tan #bf9769, ochre #bd8728, charcoal #34383d, moss #55743e, hide tan dark #9a7142, ochre dark #7e5a1b, hide tan light #d2bca2, ochre light #d6a95c, 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 `climateIceOrForest` (0–1, default 0.5) for the kit's "Climate (ice or forest)" 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 abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 8
- Spear thrower
- Stone slab
- Snow or moss
- Forked stake and peg
- Spear thrower
- Dart
- Finger loop (right)
- Finger loop (left)
Note: Real-world size at defaults: a 0.6 m atlatl and a 1.5 m dart, held on a peg 0.64 m up a forked stake in a stone slab about 0.6 m across. The whole piece is about 0.75 m tall and 1.9 m long. Origin is at the bottom centre of the footprint, the slab rests flat on y = 0, and the dart point faces +Z. 844 triangles in 22 meshes (counted in the GLB; merged per part and colour, flat normals). Every material is named exactly after its kit palette colour. The exporter writes one material per mesh, so a colour name can appear on several materials; recolour by name. The clip 'scene-motion' (6 s, seamless) rotates the atlatl node about X on the peg axle (the dart rides inside it, seated in the spur) and swings the two finger loops on their ties under the grip. The slab, stones and stake never move. The GLB's static node pose is the t = 2 s frame, so the thrower sits slightly tilted in the static mesh. climateIceOrForest (the kit's 'Climate (ice or forest)'): 0 is ice and 1 is forest. Below 0.45, warm-white snow drifts build on the slab and stones; from 0.4, moss tufts grow round the slab. At the default 0.5 there are three small tufts and no snow, so warm white is not in the default GLB. throwerLength, dartLength and swingAngle reshape the model only when the scene is rebuilt in the viewer; the GLB is baked at the defaults. ochre light is unused. glb-lint: 0 errors. Its verdict is UNVERIFIED only because no requirements contract is supplied, and the warnings are heuristic (non-indexed flat-shaded geometry, same-colour materials, nested stake and stone meshes overlapping). plan-check rejects the hyphenated part ids this library requires (a regex quirk). The same plan with the slug de-hyphenated passes, and three-check accepts the ids. Fix round (visual): 1, the board read as a thin stick beside the dart and the tall stake left the frame empty, so the board, spur and bannerstone were made bigger, the peg lowered and the default dart shortened; moss tufts that dipped 5 mm below y = 0 were lifted. The far ends of the params (ice, 0.45 m thrower, 2.1 m dart, 18° arc) also passed three-check, with the dart tip staying above the ground.
About the Spear thrower 3D model
Spear thrower is a free animated low-poly 3D model from the Stone Age Camp set. It measures 56 cm × 78 cm × 1.5 m (W × H × D) at real-world scale and is built from 844 triangles across 22 meshes, with 8 named parts and a baked animation (6.0 s). Download the 95 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Spear thrower 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), 95 KB: 844 triangles, 2,532 vertices and 22 materials, modelled in metres at 56 cm × 78 cm × 1.5 m.
- Is Spear thrower 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 Spear thrower 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 Stone Age Camp →
Raft
Stone Age Camp2,650 tris

Fire flicker
Stone Age Camp1,816 tris

Sled
Stone Age Camp1,744 tris

Totem
Stone Age Camp2,148 tris

Clay pots
Stone Age Camp2,654 tris

Bone piles
Stone Age Camp4,744 tris

Fur rolls
Stone Age Camp2,824 tris

Baskets
Stone Age Camp3,792 tris
Free under the 1DesignTool 3D library license. Model #28 of 1281.