Buoy
A floating navigation buoy that bobs and rocks on the swell: a lattice-towered light buoy, a can buoy, a cone buoy or an old tarred barrel buoy, painted plain or banded, with a lamp on top that glows at night. It rests on y = 0 at its mooring eye; the waterline is about a third of the way up (userData.waterline). Default stands 2.6 m tall.
- Size
- 1.8 × 2.7 × 1.7 m
- Triangles
- 628
- Kit
- Pirates
Tune it
4 knobs: Type, Colour, Light, Size.
Specs
- Size
- 1.8 × 2.7 × 1.7 m width × height × depth
- Triangles
- 628 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 6 m of travel per cycle
- Moving parts
- 3 bob · slide, tilt · rotate, nod · rotate
- Knobs
- 4 3 presets
- Night lights
- 1 light
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/buoy.mjs';
const buoy = createAsset();
scene.add(buoy); // rests on y = 0, front faces +Z
// 'tilt' pivots on its hinge: -6° to 6° around z
buoy.getObjectByName('tilt').rotation.z = THREE.MathUtils.degToRad(-6);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/buoy.mjs';
export function Buoy() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import buoy.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Buoy/tilt.rotation_degrees.z = -6// Import buoy.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("tilt").localEulerAngles = new Vector3(/* z: */ -6, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "buoy", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
shape | choice | light can cone barrel | light | light (round float with a lattice tower and lamp on top), can (flat-topped cylinder), cone (pointed conical buoy) or barrel (old tarred wooden barrel buoy with a pole and lantern, age of sail). |
color | choice | red green yellow black and yellow red and white | red | Paint: red (port side), green (starboard side), yellow (special mark), black and yellow bands (cardinal mark) or red and white bands (safe water). Plain colours only. The barrel type keeps its wood and gets painted hoops. |
light | toggle | on / off | true | A lamp on top that glows at night. Off leaves a plain day mark. |
size | range | 0.5 to 2, step 0.05 | 1 | Uniform scale. 1 is a 2.6 m harbour light buoy; 0.5 a small mooring float; 2 a big offshore buoy. |
Presets: safe water {"shape":"light","color":"red and white"} · cardinal mark {"shape":"cone","color":"black and yellow","size":1.3} · smugglers marker {"shape":"barrel","color":"red","size":0.8}
Files
| File | What |
|---|---|
| buoy.glb | GLB, default look · 82 KB |
| buoy.mjs | ES module, every knob live |
| buoy.obj | OBJ, static, no colour |
| buoy-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.