Gaitkit Sign in Open the lab
Butterfly, A butterfly at real size (1 = a 9.5 cm wingspan monarch-like butterfly; the size knob scales it up to a fantasy giant): four broad wings built like stained glass, with dark veins, a patterned border with rows of pale dots and a paler underside, a fuzzy thorax, a ringed abdomen, big eyes, clubbed antennae and a coiled tongue. Four wing patterns: monarch-like orange, blue morpho-like, cabbage white and tailed yellow swallowtail-like. Flies by distance with a slow, deep flutter, the body bobbing up on every downstroke.
Creature · Flies

Butterfly

A butterfly at real size (1 = a 9.5 cm wingspan monarch-like butterfly; the size knob scales it up to a fantasy giant): four broad wings built like stained glass, with dark veins, a patterned border with rows of pale dots and a paler underside, a fuzzy thorax, a ringed abdomen, big eyes, clubbed antennae and a coiled tongue. Four wing patterns: monarch-like orange, blue morpho-like, cabbage white and tailed yellow swallowtail-like. Flies by distance with a slow, deep flutter, the body bobbing up on every downstroke.

Size
0.09 × 0.02 × 0.06 m
Triangles
2,696
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: Pattern, Border dots, Seed, Size.

Specs

Size
0.09 × 0.02 × 0.06 m
width × height × depth
Triangles
2,696
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
0.05 m
of travel per cycle
Altitude
0.3 m
above the ground
Moving parts
4
wing_L · rotate, wing_R · 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/butterfly.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  butterfly.position.set(0, groundY + butterfly.userData.altitude, dist);
  butterfly.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
specieschoicemonarch morpho white swallowtailmonarchWing pattern: monarch (orange with black veins and a dotted black border, 9.5 cm), morpho (bright blue with a black border and a brown underside, 13 cm), white (cabbage-white cream with grey tips and black spots, 5.5 cm), swallowtail (yellow with black tiger bars, a blue-and-orange hind band and tailed hindwings, 10 cm).
spotstoggleon / offtrueRows of pale dots (dark spots on the white) in the wing border. Off gives clean, plain borders.
seedrange1 to 99, step 11Varies the wing outline a little and the tone of each wing cell, so a swarm of the same pattern does not look cloned.
sizerange1 to 30, step 0.51Uniform scale. 1 is real size (9.5 cm wingspan for the monarch pattern); 10 is a 1 m fairy-garden butterfly; 30 is a rideable fantasy giant.

Presets: monarch {"species":"monarch"} · blue morpho {"species":"morpho","spots":true} · tiger swallowtail {"species":"swallowtail","seed":7}

Files

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