Gaitkit Sign in Open the lab
Dragonfly, A dragonfly at real size (1 = a 7 cm long hawker with a 10 cm wingspan; the size knob scales it up to a 2 m fantasy mount): huge wraparound compound eyes, a striped, forward-leaning thorax, a long jointed abdomen with per-segment markings and tail claspers, legs folded into a catching basket, and four long glassy wings with veined cells, a dark leading edge and a wing-tip spot. Blue, red or green colouring, clear, amber or banded wings. Flies by distance with the fore and hind wing pairs beating in turn while the body hovers up and down.
Creature · Flies

Dragonfly

A dragonfly at real size (1 = a 7 cm long hawker with a 10 cm wingspan; the size knob scales it up to a 2 m fantasy mount): huge wraparound compound eyes, a striped, forward-leaning thorax, a long jointed abdomen with per-segment markings and tail claspers, legs folded into a catching basket, and four long glassy wings with veined cells, a dark leading edge and a wing-tip spot. Blue, red or green colouring, clear, amber or banded wings. Flies by distance with the fore and hind wing pairs beating in turn while the body hovers up and down.

Size
0.09 × 0.02 × 0.07 m
Triangles
1,808
Open in the lab

ProPro download.

Also as , a .zip with the .obj and its .mtl.

Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Colour, Wings, Seed, Size.

Specs

Size
0.09 × 0.02 × 0.07 m
width × height × depth
Triangles
1,808
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
0.056 m
of travel per cycle
Altitude
0.3 m
above the ground
Moving parts
6
wing_FL · rotate, wing_FR · rotate, wing_HL · rotate, wing_HR · rotate, abdomen · rotate, body · slide
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.

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

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  dragonfly.position.set(0, groundY + dragonfly.userData.altitude, dist);
  dragonfly.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
specieschoiceblue red greenblueblue (dark hawker with sky-blue eyes and blue abdomen spots), red (all-red darter), green (green thorax and eyes, turquoise abdomen with a black stripe down the back).
wingschoiceclear amber bandedclearclear (glassy with dark veins and a wing-tip spot), amber (golden tinted with orange wing bases), banded (a dark band across the middle of every wing).
seedrange1 to 99, step 11Varies the tone of the wing cells and the abdomen markings a little, so several dragonflies over a pond do not look cloned.
sizerange1 to 30, step 0.51Uniform scale. 1 is real size (7 cm long, 10 cm wingspan); 10 is a 70 cm giant like the prehistoric griffinflies; 30 is a 2 m fantasy mount.

Presets: blue hawker {"species":"blue","wings":"clear"} · scarlet darter {"species":"red","wings":"amber","seed":4} · banded emerald {"species":"green","wings":"banded","seed":9}

Files

FileWhat
dragonfly.glb ProGLB, default look · 304 KB
dragonfly.mjs ProES module, every knob live
dragonfly.obj ProOBJ, static; colours in the .mtl
dragonfly.mtlOBJ colours; keep it next to the .obj
dragonfly-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.