Campfire
A campfire about 1.1 m across: a ring of stones round a bed of ash, firewood stacked as a tipi, a log cabin or a star, burning with flickering flames (a Loop clip) or down to glowing embers, with an optional kettle on a tripod or a pot on a crossbar. Flames and embers glow at night.
- Size
- 1.3 × 0.85 × 1.3 m
- Triangles
- 1,440
- Kit
- Outdoors
Tune it
5 knobs: Wood stack, Fire, Cooking, Stone ring, Seed.
Specs
- Size
- 1.3 × 0.85 × 1.3 m width × height × depth
- Triangles
- 1,440 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 6.283 m of travel per cycle
- Moving parts
- 4 flame_0 · rotate, flame_1 · rotate, flame_2 · rotate, flame_3 · rotate
- Knobs
- 5 3 presets
- Night lights
- 2 flame, ember
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/campfire.mjs';
const campfire = createAsset();
scene.add(campfire); // rests on y = 0, front faces +Z
// 'flame_0' pivots on its hinge: -8° to 8° around z
campfire.getObjectByName('flame_0').rotation.z = THREE.MathUtils.degToRad(-8);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/campfire.mjs';
export function Campfire() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import campfire.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Campfire/flame_0.rotation_degrees.z = -8// Import campfire.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("flame_0").localEulerAngles = new Vector3(/* z: */ -8, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "campfire", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
build | choice | tipi cabin star | tipi | How the firewood is laid: tipi (logs leaning together into a cone), cabin (a square log-cabin crib), star (logs radiating from the middle, pushed in as they burn). |
fire | choice | roaring cosy embers out | cosy | roaring (tall flames above the stack), cosy (a modest cooking fire), embers (no flames, glowing coals), out (cold charred wood and grey ash, no glow). |
cooking | choice | none kettle pot | none | none, kettle (a black kettle hanging from a three-stick tripod) or pot (a cooking pot hanging from a crossbar on two forked sticks). |
stones | toggle | on / off | true | Ring the fire with a circle of stones. |
seed | range | 1 to 50, step 1 | 4 | Reshuffles stone sizes and colours and how the logs lie. |
Presets: scout bonfire {"build":"tipi","fire":"roaring"} · camp kitchen {"build":"cabin","fire":"cosy","cooking":"pot"} · morning after {"build":"star","fire":"out","cooking":"kettle"}
Files
| File | What |
|---|---|
| campfire.glb | GLB, default look · 194 KB |
| campfire.mjs | ES module, every knob live |
| campfire.obj | OBJ, static, no colour |
| campfire-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.