drag to orbit
Prop · 1 moving part
Beach Umbrella
A beach umbrella about 2.3 m tall with a 2 m canopy of eight striped panels and a scalloped valance, stuck in a sand mound or standing in a weighted base. The canopy tilts on a hinge part named canopy (about x, toward +Z), or can be shown furled.
- Size
- 2.0 × 2.6 × 2.0 m
- Triangles
- 591
- Kit
- Outdoors
Tune it
4 knobs: Colours, Tilt, Open, Base.
Specs
- Size
- 2.0 × 2.6 × 2.0 m width × height × depth
- Triangles
- 591 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 canopy · rotate
- Knobs
- 4 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/beach-umbrella.mjs';
const beachUmbrella = createAsset();
scene.add(beachUmbrella); // rests on y = 0, front faces +Z
// 'canopy' pivots on its hinge: 0° to 40° around x
beachUmbrella.getObjectByName('canopy').rotation.x = THREE.MathUtils.degToRad(0);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/beach-umbrella.mjs';
export function BeachUmbrella() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import beach-umbrella.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$BeachUmbrella/canopy.rotation_degrees.x = 0// Import beach-umbrella.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("canopy").localEulerAngles = new Vector3(/* x: */ 0, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "beach-umbrella", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
colors | choice | classic ocean sunny teal rainbow | classic | Panel colours: classic (red and white stripes), ocean (blue and white), sunny (yellow and white), teal (teal and sand) or rainbow (eight colours). |
tilt | range | 0 to 40, step 1 | 15 | Tilt of the canopy in degrees toward +Z, to angle the shade against a low sun. Same as rotating the canopy part. |
open | toggle | on / off | true | Open canopy. Off shows the umbrella furled and strapped round its pole. |
base | choice | sand weighted | sand | sand (the pole is screwed into a little mound of sand) or weighted (a round concrete base for a patio or poolside). |
Presets: riviera {"colors":"ocean","tilt":25} · poolside {"colors":"teal","base":"weighted","tilt":0} · end of summer {"colors":"classic","open":false}
Files
| File | What |
|---|---|
| beach-umbrella.glb | GLB, default look · 76 KB |
| beach-umbrella.mjs | ES module, every knob live |
| beach-umbrella.obj | OBJ, static, no colour |
| beach-umbrella-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.