Swimming Pool
A backyard swimming pool on its own patio tile: a rectangular or kidney-shaped pool set into a raised paved deck (the slab is 25 cm thick and its top is the ground level, water 10 cm below the coping), or a round above-ground pool on a lawn square, with a chrome ladder, optional sun loungers and an umbrella. The deck covers whole metres (userData.tile); underwater lights glow at night.
- Size
- 12.0 × 3.0 × 9.0 m
- Triangles
- 2,000
Tune it
5 knobs: Shape, Length, Deck, Loungers, Water.
Specs
- Size
- 12.0 × 3.0 × 9.0 m width × height × depth
- Triangles
- 2,000 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 pool_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/swimming-pool.mjs';
const swimmingPool = createAsset();
scene.add(swimmingPool); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/swimming-pool.mjs';
export function SwimmingPool() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import swimming-pool.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://swimming-pool.glb").instantiate())// Import swimming-pool.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": "swimming-pool", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
shape | choice | rectangle kidney above-ground | rectangle | rectangle (a classic lap pool with rounded corners), kidney (a curved freeform pool), above-ground (a round 4.5 m pool with a blue steel wall on a lawn). |
length | range | 5 to 12, step 1 | 8 | Pool length in metres (5 to 12); the pool is about half as wide and the deck adds 2 m round it. Ignored by the above-ground pool. |
deck | choice | stone terracotta wood concrete | stone | Surround: stone (pale sandstone pavers), terracotta tiles, wood (decking boards) or concrete. |
loungers | toggle | on / off | true | Two sun loungers with towels and a parasol on the deck beside the pool. |
water | choice | turquoise blue green | turquoise | Water colour: turquoise (tropical), blue (deep chlorinated), green (natural pool or one that needs cleaning). |
Presets: villa lap pool {"shape":"rectangle","length":12,"deck":"stone","loungers":true} · retro kidney pool {"shape":"kidney","length":8,"deck":"terracotta","water":"turquoise"} · summer above-ground {"shape":"above-ground","deck":"wood","loungers":false,"water":"blue"}
Files
| File | What |
|---|---|
| swimming-pool.glb | GLB, default look · 292 KB |
| swimming-pool.mjs | ES module, every knob live |
| swimming-pool.obj | OBJ, static, no colour |
| swimming-pool-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.