Gaitkit Open the lab
Dragon, A bus-sized fantasy dragon, about 8 m nose to tail with a 10 m wingspan. Flies by distance: slow, heavy wingbeats with the wingtips folding on the upstroke, the body lifting on each downstroke and the tail rippling behind; legs tucked. Eyes and throat embers glow at night.
Creature · Flies

Dragon

A bus-sized fantasy dragon, about 8 m nose to tail with a 10 m wingspan. Flies by distance: slow, heavy wingbeats with the wingtips folding on the upstroke, the body lifting on each downstroke and the tail rippling behind; legs tucked. Eyes and throat embers glow at night.

Size
11.4 × 2.9 × 11.7 m
Triangles
2,002
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Scales, Horns, Spines, Size.

Specs

Size
11.4 × 2.9 × 11.7 m
width × height × depth
Triangles
2,002
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
13 m
of travel per cycle
Altitude
4.5 m
above the ground
Moving parts
12
wing_L · rotate, wing_R · rotate, wingtip_L · rotate, wingtip_R · rotate, tail_0 · rotate, tail_1 · rotate, tail_2 · rotate, tail_3 · rotate, tail_4 · rotate, neck_0 · rotate, jaw · rotate, body · slide
Knobs
4
3 presets
Night lights
2
eye, 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.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/dragon.mjs';

const dragon = createAsset();
scene.add(dragon);                      // rests on y = 0, front faces +Z

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  dragon.position.set(0, groundY + dragon.userData.altitude, dist);
  dragon.userData.tick(dist);            // wings beat with the distance
  renderer.render(scene, camera);
});

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
scaleschoiceember forest frost obsidian goldemberColour family: ember (red with orange wings), forest (green), frost (ice blue and white), obsidian (black with red eyes), gold.
hornstoggleon / offtrueA pair of swept-back horns on the head. Off = a smooth-headed wyrm.
spinestoggleon / offtrueA row of dorsal spines from the head down to the tail.
sizerange0.3 to 1.5, step 0.051Uniform scale. 1 is about 8 m long; 0.3 is a pony-sized young dragon; 1.5 is a 12 m ancient.

Presets: frost wyrm {"scales":"frost","horns":false} · young dragon {"scales":"forest","size":0.35,"spines":false} · ancient {"scales":"obsidian","size":1.5}

Files

FileWhat
dragon.glbGLB, default look · 290 KB
dragon.mjsES module, every knob live
dragon.objOBJ, static, no colour
dragon-params.jsonknob 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.