Waves
A low-poly strip of lagoon surf: a turquoise curling breaker with a white foam lip and spray, two smaller swells behind it, and a sandy beach with a foam wash at the waterline. The waves bob and roll in a seamless 4-second loop while the water and beach stay still.

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
- 1,320
- Vertices
- 3,960
- Meshes · materials
- 15 · 15
- Size (W × H × D)
- 6.0 m × 1.6 m × 5.3 m
- File
- GLB · 126 KB
- Animation
- scene-motion · 4.0s
- Style
- Low-poly
- Collection
- Tropical Island
Palette · named materials
- turquoise: water surface and breaker face (water)#31c4b8
- turquoise light: wave backs and crests, shallow water near the beach (water)#6dd5cc
- turquoise dark: slab sides and the hollow under the curl (water)#22877e
- warm white: foam lip, spray and shore wash (accent)#f2ede2
- sand: beach top (earth)#d1bd94
- sand dark: beach sides (earth)#ba9c5e
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/tropical-island-waves/b0f5ec1cf6/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:
Waves for the Tropical 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 Tropical Island kit (Low-poly style, flat-lowpoly direction): Palm beach and blue lagoon. Use ONLY the kit palette, by name: sand #d1bd94, turquoise #31c4b8, palm green #3a883a, coral #e2715a, sand dark #ba9c5e, turquoise dark #22877e, sand light #e6ddcb, turquoise light #6dd5cc, 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 `islandSize` (0–1, default 0.5) for the kit's "Island size" 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
- Waves
- Water slab
- Sand beach
- Breaker (hinge on the surface line)
- Lip spray (hinge on the lip)
- Swell 1 (hinge on the surface line)
- Swell 2 (hinge on the surface line)
- Shore foam wash (slides on the slope)
Note: Size: a 6.0 m wide × 5.3 m deep surf strip, 1.57 m tall at the breaker's crest and spray. The water surface is 0.3 m above the base, and the default breaker is about 1.2 m, a small believable shore break for a lagoon. The origin is at the bottom centre, and the beach faces +Z. Rig: the water slab and beach are the still base. Each wave is a group hinged on its base line at the water surface: it bobs ±7 cm and pitches ±0.035–0.045 rad about X, phased front to back so the set rolls in. 'spray' is a child of the breaker hinged on the lip line and whips ±0.14 rad. 'wash' slides ±16 cm along the sand slope. Every motion is one sine of the 4 s 'scene-motion' clip, so the loop is seamless. Wave sections reach 0.17 m below the surface, so no foot ever shows or drops below y = 0. The GLB node pose was exported at t = 2 s. The GLB has 1,320 triangles in 15 meshes (one per palette colour per part), and every material is named exactly after a kit palette colour. islandSize (the kit's 'Island size') sets the strip width from 4.5 m to 7.5 m. Params are baked at their defaults and only change geometry when the scene is rebuilt in the viewer; only the defaults were rendered and checked. glb-lint: 0 errors; its warnings are expected (non-indexed geometry kept on purpose for hard flat normals, one material per mesh, nested part boxes, and spray and wash that sit on other groups). plan-check passes except for its part-id regex, which rejects the hyphens in the slug ids this library requires; the same plan with the slug de-hyphenated passes. Fix rounds were all visual: lower exposure, longer and lower wave profiles, a narrower foam lip, and a lowered dip so the swinging breaker foot stays above y = 0.
About the Waves 3D model
Waves is a free animated low-poly 3D model from the Tropical Island set. It measures 6.0 m × 1.6 m × 5.3 m (W × H × D) at real-world scale and is built from 1,320 triangles across 15 meshes, with 8 named parts and a baked animation (4.0 s). Download the 126 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Waves 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), 126 KB: 1,320 triangles, 3,960 vertices and 15 materials, modelled in metres at 6.0 m × 1.6 m × 5.3 m.
- Is Waves 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 Waves 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 Tropical Island →
Sailboat
Tropical Island1,980 tris

Swaying palms
Tropical Island3,044 tris

Outrigger canoe
Tropical Island2,172 tris

Beach umbrellas
Tropical Island1,432 tris

Shells
Tropical Island4,092 tris

Driftwood
Tropical Island1,116 tris

Tiki torches
Tropical Island1,584 tris

Coconuts
Tropical Island786 tris
Free under the 1DesignTool 3D library license. Model #26 of 996.