Cloud Puff
A soft low-poly cloud of overlapping faceted puffs with a flat underside, 2 to 20 m long, built from a row of rounded puffs with a billowing crown: fair-weather white, sunset pink and gold, dusk violet or a dark storm cloud. The puffs breathe gently in a loop. The model rests its flat base on y = 0 so you can lift it to any height in the sky.
- Size
- 7.4 × 3.7 × 3.6 m
- Triangles
- 720
- Kit
- Terrain
Tune it
5 knobs: Size, Puffs, Mood, Flat base, Seed.
Specs
- Size
- 7.4 × 3.7 × 3.6 m width × height × depth
- Triangles
- 720 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 1 m of travel per cycle
- Moving parts
- 9 puff_0 · slide, puff_1 · slide, puff_2 · slide, puff_3 · slide, puff_4 · slide, puff_5 · slide, puff_6 · slide, puff_7 · slide, puff_8 · slide
- 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/cloud-puff.mjs';
const cloudPuff = createAsset();
scene.add(cloudPuff); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/cloud-puff.mjs';
export function CloudPuff() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import cloud-puff.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://cloud-puff.glb").instantiate())// Import cloud-puff.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": "cloud-puff", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
size | range | 2 to 20, step 0.5 | 8 | Length of the cloud in metres (it is about 0.45 as tall and 0.6 as deep). |
puffs | range | 3 to 9, step 1 | 6 | Number of rounded lobes: 3 is a small simple cloud, 9 a big billowing cumulus. |
mood | choice | day sunset dusk storm | day | Colouring: day (white with a blue-grey belly), sunset (cream, peach and pink), dusk (lavender), storm (heavy grey). |
flat | toggle | on / off | true | On gives the classic flat-bottomed cumulus; off lets the lower puffs hang round. |
seed | range | 1 to 50, step 1 | 2 | Changes the arrangement and size of the puffs. Scatter several seeds for a sky. |
Presets: thunderhead {"mood":"storm","size":16,"puffs":9} · sunset wisp {"mood":"sunset","size":6,"puffs":4,"seed":9} · little puff {"size":3,"puffs":3}
Files
| File | What |
|---|---|
| cloud-puff.glb | GLB, default look · 111 KB |
| cloud-puff.mjs | ES module, every knob live |
| cloud-puff.obj | OBJ, static, no colour |
| cloud-puff-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.