Surfboard
A real-size surfboard with rocker, a domed deck, low rails, a wooden stringer and an abstract resin graphic: a 1.83 m pointed shortboard with three thruster fins and a squash tail, a 2.75 m round-nose longboard with one big centre fin, or a 1.65 m wide fish with a swallow tail and twin keel fins. Shown on two padded display stands, or lying deck-down on the sand with the fins up; an optional coiled leash and ankle cuff.
- Size
- 0.60 × 0.60 × 1.8 m
- Triangles
- 1,960
Tune it
5 knobs: Shape, Graphic, Colour, Leash, Stand.
Specs
- Size
- 0.60 × 0.60 × 1.8 m width × height × depth
- Triangles
- 1,960 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 0 none
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/surfboard.mjs';
const surfboard = createAsset();
scene.add(surfboard); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/surfboard.mjs';
export function Surfboard() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import surfboard.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://surfboard.glb").instantiate())// Import surfboard.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": "surfboard", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
shape | choice | shortboard longboard fish | shortboard | shortboard (1.83 m, pointed nose, squash tail, three thruster fins, strong rocker), longboard (2.75 m, round nose, one big centre fin) or fish (1.65 m, wide and flat, swallow tail, twin keel fins). |
graphic | choice | stringer racing sunset waves | racing | Resin artwork, no logos: stringer (one colour with the wooden centre stringer), racing (two stripes along the board), sunset (colour bands fading from the tail) or waves (wave bands across the tail half). |
colour | choice | cream sea coral sunshine midnight | sea | Colourway as base / stripe / second accent: cream (cream, blue, mustard), sea (teal, cream, deep blue), coral (coral, sand, plum), sunshine (yellow, red, cream) or midnight (navy, mustard, pale blue). |
leash | toggle | on / off | true | A leash plug in the tail with a coiled urethane cord and a padded ankle cuff. |
stand | toggle | on / off | true | On: the board rests deck-up on two padded wooden display stands (surf shop). Off: it lies deck-down on the ground with the fins pointing up, as on a beach. |
Presets: surf shop shortboard {"shape":"shortboard","graphic":"racing","colour":"sea","stand":true} · beach longboard {"shape":"longboard","graphic":"stringer","colour":"cream","stand":false,"leash":true} · retro fish {"shape":"fish","graphic":"sunset","colour":"coral","stand":true,"leash":false}
Files
| File | What |
|---|---|
| surfboard.glb Pro | GLB, default look · 206 KB |
| surfboard.mjs Pro | ES module, every knob live |
| surfboard.obj Pro | OBJ, static; colours in the .mtl |
| surfboard.mtl | OBJ colours; keep it next to the .obj |
| surfboard-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.