Falling rocks
A low-poly rockfall: ash-grey boulders with glowing lava cracks break off a cliff of black hexagonal basalt columns, bounce down a talus slope and pile up at its foot. It carries 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
- 1,963
- Vertices
- 5,889
- Meshes · materials
- 30 · 30
- Size (W × H × D)
- 3.2 m × 3.1 m × 4.5 m
- File
- GLB · 207 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Volcano Island
Palette · named materials
- basalt black: column sides, steep talus rim (body)#151619
- basalt black light: talus surface, some column tops, boulder shadow sides, pile rocks (earth)#3a3c40
- basalt black dark: column and rock feet (earth)#090a0b
- ash grey: boulder sunlit facets, ash streaks, ash-dusted column tops, scree (trim)#757e8a
- soot black: scree chips (trim)#1b1b22
- lava orange: glowing crack belt on each falling boulder (accent)#ed7e1d
- lava orange dark: glowing release column tops (accent)#af590e
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/volcano-island-falling-rocks/97ce25173c/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:
Falling rocks for the Volcano Island 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 Volcano Island kit (Low-poly style, flat-lowpoly direction): A smoking peak over black sand. Use ONLY the kit palette, by name: basalt black #151619, lava orange #ed7e1d, ash grey #757e8a, jungle green #3a883a, basalt black dark #090a0b, lava orange dark #af590e, basalt black light #3a3c40, lava orange light #eea668, 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 `eruptionStage` (0–1, default 0.5) for the kit's "Eruption stage" 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 · 9
- Falling rocks
- Basalt column crag
- Talus slope
- Scree chips
- Debris pile
- Falling boulder 1
- Falling boulder 2
- Falling boulder 3
- Falling boulder 4
Note: Size: the crag is 3.15 m tall and the whole piece covers 3.24 × 4.48 m. The boulders are about 0.6 m across, and the talus is 0.95 m high at the cliff foot. Front (the fall direction) faces +Z, the origin is at the bottom centre of the footprint and everything rests on y = 0. Motion: a seamless 6 s clip, 'scene-motion'. Each boulder is its own node, pivoted at its own centre, and runs one whole path per loop, staggered by a quarter loop. It grows out of a glowing front column top, rolls to the edge, drops, bounces twice down the talus, rolls off the toe and shrinks to a speck inside the debris pile. The speck travels back to the column top unseen. Each boulder spins two or three whole turns per loop. The crag, talus, scree and pile never move. Shrinking is how the loop hides the reset, so a boulder's node scale passes through 0.001 twice per loop: keep the clip's scale channels when retargeting. The static node pose in the GLB is the t = 2 s frame, so the boulders sit mid-path until the clip plays. eruptionStage (the kit's 'Eruption stage') sets how many boulders fall: 2 + round(3 × stage), so 2 at 0, 4 at the default and 5 at 1. It also sets the width of the glowing crack belt on each boulder and the column-top glow. Below 0.15 everything is cold basalt; from 0.6 the cracks turn lava orange light and the tops turn lava orange. Because the stage changes the boulder count, the rock_N part ids change with it. cliffHeight (2.4–4.4 m) scales the column heights, boulderSize (0.4–0.9 m) sets the boulder diameter, and bounce (0–1) sets the bounce arc height. Params are baked into the GLB at their defaults and only change the geometry when the scene is rebuilt in the viewer. Only the defaults were rendered and checked. The GLB has 1,963 triangles in 30 meshes (one per part and colour) and no textures. Normals are baked flat (non-indexed). Every material is named exactly after its kit palette colour, and 7 of the 12 are used at the default stage. The exporter writes one material per mesh, so names repeat: recolour by name. The lava materials carry a mild emissive of their own colour. The talus is an open surface whose rim sits on y = 0, so it has no underside. glb-lint reports 0 errors. Its 5 warnings are heuristic and expected: duplicate per-mesh materials, deliberate non-indexed flat shading, overlap between the colour meshes of one part, and the 3.15 m height compared against a 1 m reference. The verdict reads UNVERIFIED only because no requirements contract was supplied. plan-check rejects only the hyphenated library part ids, because its regex allows no hyphen; the same plan with the slug de-hyphenated passes. three-check accepts the ids, and all 9 survive the GLB reload. Fix rounds: (1) dropped the flat talus cells that made a black plinth, and turned the scattered hot facets into one crack belt per boulder; (2) eased the rim jitter and tightened the hero framing; (3) cut the talus rim along a height contour and reshaped it into a fan with a curved toe, so it no longer reads as a rectangle from above.
About the Falling rocks 3D model
Falling rocks is a free animated low-poly 3D model from the Volcano Island set. It measures 3.2 m × 3.1 m × 4.5 m (W × H × D) at real-world scale and is built from 1,963 triangles across 30 meshes, with 9 named parts and a baked animation (6.0 s). Download the 207 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Falling rocks 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), 207 KB: 1,963 triangles, 5,889 vertices and 30 materials, modelled in metres at 3.2 m × 3.1 m × 4.5 m.
- Is Falling rocks 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 Falling rocks 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 Volcano Island →
Rescue helicopter
Volcano Island1,472 tris

Flowing lava
Volcano Island4,033 tris

Hot spring pools
Volcano Island3,211 tris

Smoke plume
Volcano Island3,492 tris

Instruments
Volcano Island1,820 tris

Warning signs
Volcano Island1,035 tris

Ash-dusted trees
Volcano Island1,276 tris

Cave
Volcano Island1,732 tris
Free under the 1DesignTool 3D library license. Model #8 of 1059.