Beach Tile
A 4 x 4 m coast tile that runs from turf and dry sand on the -Z side down through wet sand into shallow then deeper water on the +Z side, with a white foam line that washes in and out, shells, starfish, pebbles and driftwood. Straight, corner-out (a headland: sea on two sides) or corner-in (a cove). The shore profile depends only on the distance to the waterline, so beach pieces chain and their land edges meet ground tiles at 0.4 m.
- Size
- 4.0 × 0.87 × 4.0 m
- Triangles
- 1,722
- Kit
- Terrain
Tune it
5 knobs: Piece, Biome, Shells, Foam, Seed.
Specs
- Size
- 4.0 × 0.87 × 4.0 m width × height × depth
- Triangles
- 1,722 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 1 m of travel per cycle
- Moving parts
- 1 foam · slide
- Knobs
- 5 3 presets
- Night lights
- 2 lava, glow
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/beach-tile.mjs';
const beachTile = createAsset();
scene.add(beachTile); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/beach-tile.mjs';
export function BeachTile() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import beach-tile.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://beach-tile.glb").instantiate())// Import beach-tile.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "beach-tile", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
piece | choice | straight corner-out corner-in | straight | straight (land at -Z, sea at +Z), corner-out (a headland: land only in the back-left, sea wraps round from the W edge to the N edge), corner-in (a cove: sea only in the front-right, the shore bends from the S edge to the E edge). Rotate in 90 degree steps. |
biome | choice | grass desert snow rock volcanic alien | desert | Shared by every Terrain piece: grass (pale sand under a turf back edge, blue sea), desert (golden sand, turquoise lagoon), snow (grey shingle, icy water with floes), rock (pebble beach), volcanic (black sand against a glowing lava sea), alien (pink sand, glowing teal sea). |
shells | range | 0 to 1, step 0.1 | 0.6 | Amount of beach scatter: shells, starfish, pebbles and a piece of driftwood. 0 gives clean sand. |
foam | toggle | on / off | true | White foam lines on the water at the shore; they wash in and out in a loop. |
seed | range | 1 to 50, step 1 | 2 | Moves the scatter and the ripples in the sand. Edges match for every seed. |
Presets: tropical lagoon {"biome":"desert","shells":0.9} · black sand cove {"biome":"volcanic","piece":"corner-in"} · shingle headland {"biome":"rock","piece":"corner-out","shells":0.4}
Files
| File | What |
|---|---|
| beach-tile.glb | GLB, default look · 182 KB |
| beach-tile.mjs | ES module, every knob live |
| beach-tile.obj | OBJ, static, no colour |
| beach-tile-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.