FREEcommercial use · no sign-up

Bobbing buoys

A low-poly patch of harbour water with four floats bobbing out of phase on a seamless 6 s loop: a white pick-up mooring buoy with a blue band and rope loop, a flagged dahn pot-marker, a striped can buoy and a line of cork net floats.

Bobbing buoys 3D model
This model carries a baked animation clip.

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,844
Vertices
5,532
Meshes · materials
19 · 19
Size (W × H × D)
4.1 m × 2.5 m × 3.8 m
File
GLB · 184 KB
Animation
scene-motion · 6.0s
Collection
Fishing Harbour

Palette · named materials

  • sea blue dark — harbour water (water)#1f457a
  • sea blue light — ripple rings and can buoy body (trim)#6190d1
  • sea blue — mooring band and dahn float (body)#2e67b8
  • warm white — mooring ball, can stripe, dahn float and pole bands (body)#f2ede2
  • rope tan — pick-up loop, cork floats and float line (accent)#bf9769
  • soot black — flag, can cap, top castings, ballast (accent)#1b1b22
  • mid grey — shackle eyes (metal)#7d828c
  • dark wood — dahn pole (trim)#3d2a1c

Use it

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

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/fishing-harbour-bobbing-buoys/9a3124645e/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:

Bobbing buoys for the Fishing Harbour 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 Fishing Harbour kit (Low-poly style, flat-lowpoly direction): Boats, nets and a sea wall. Use ONLY the kit palette, by name: sea blue #2e67b8, boat colours #988e81, rope tan #bf9769, grey stone #9c958b, sea blue dark #1f457a, boat colours dark #70685c, sea blue light #6190d1, boat colours light #b6b3af, 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 `tide` (0–1, default 0.5) for the kit's "Tide" 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
Make your own with 1DesignTool →

Named parts · 9

  • Bobbing buoys
  • Harbour water (still base)
  • Mooring buoy
  • Ripple ring round the mooring buoy
  • Dahn pot-marker buoy
  • Ripple ring round the dahn buoy
  • Can buoy
  • Ripple ring round the can buoy
  • Cork float line

Note: Size: a 4.1 × 3.7 m patch of water 0.5 m deep (at tide 0.5), 2.5 m tall to the dahn pole tip. The mooring ball is 0.9 m across, the dahn float 0.52 m and the can buoy 0.48 m. The origin is at the bottom centre of the water patch, on y = 0. The water patch is the still base. Each buoy is a group pivoted at its waterline centre that heaves, pitches and rolls on whole-cycle sines, so the 6 s clip (scene-motion, 27 channels) loops seamlessly. The ripple rings breathe in scale. tide (the kit's 'Tide') moves the water surface between 0.4 and 0.6 m, and every buoy rides it. swell scales the bob amount. Params are baked into the GLB at their defaults and change the model only when the scene is rebuilt in the viewer. The GLB has 1,844 triangles in 19 meshes (counted from the accessors) and 8 of the 12 kit palette colours. Every material is named exactly after its palette colour. The exporter writes one material per mesh, so a name can repeat; recolour by name. Both extremes passed three-check with all 9 part ids: all-min, and the deepest case (tide 0 with swell, mooring size and pole height at max), whose bounds stay at y ≥ 0. glb-lint reported 0 errors and 6 heuristic warnings, all expected: duplicate material names, non-indexed flat shading, nested band/ball overlaps, ripple rings flagged as 'detached' (they lie on the water, which is in another part), and the scale check for a subject taller than 1 m. plan-check flags only the hyphenated library parent ids (its regex allows no hyphen); the same plan passes with the slug de-hyphenated. Fix rounds: (1) a shallower water slab, the mooring ball seated higher, and a draped rope tail that read as a stick removed; (2) hero framing.

About the Bobbing buoys 3D model

Bobbing buoys is a free animated low-poly 3D model from the Fishing Harbour set. It measures 4.1 m × 2.5 m × 3.8 m (W × H × D) at real-world scale and is built from 1,844 triangles across 19 meshes, with 9 named parts and a baked animation (6.0 s). Download the 184 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the Bobbing buoys 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), 184 KB: 1,844 triangles, 5,532 vertices and 19 materials, modelled in metres at 4.1 m × 2.5 m × 3.8 m.
Is Bobbing buoys 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 Bobbing buoys 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.

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