Gaitkit Open the lab
Whale, A 14 m humpback whale with long white flippers, a grooved throat and broad tail flukes. Swims by distance with slow, heavy up-and-down tail beats and a gently flexing body; it cruises 5 m above the sea floor. Blue (22 m), sperm (15 m, square head) and beluga (4.5 m, white) variants, optional spout.
Creature · Swims

Whale

A 14 m humpback whale with long white flippers, a grooved throat and broad tail flukes. Swims by distance with slow, heavy up-and-down tail beats and a gently flexing body; it cruises 5 m above the sea floor. Blue (22 m), sperm (15 m, square head) and beluga (4.5 m, white) variants, optional spout.

Size
10.4 × 4.5 × 15.1 m
Triangles
1,800
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Species, Spout, Barnacles, Size.

Specs

Size
10.4 × 4.5 × 15.1 m
width × height × depth
Triangles
1,800
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
17.4 m
of travel per cycle
Altitude
4.93 m
below the surface
Moving parts
6
body · rotate, seg_1 · rotate, seg_2 · rotate, tail · rotate, flipper_L · rotate, flipper_R · rotate
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/whale.mjs';

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

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

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

Knobs

KnobTypeValuesDefaultWhat it does
specieschoicehumpback blue sperm belugahumpbackhumpback (14 m, black with white wing-like flippers and a grooved throat), blue (22 m, slender mottled blue-grey, tiny dorsal fin), sperm (15 m, huge square head, wrinkled grey, narrow lower jaw), beluga (4.5 m, all white with a round melon).
spouttoggleon / offfalseA plume of spray rising from the blowhole, as when the whale breathes at the surface.
barnaclestoggleon / offtruePale barnacle clusters and knobs on the head and chin (most visible on the humpback).
sizerange0.3 to 1.3, step 0.051Uniform scale on top of the species length. 1 is a full-grown adult; 0.3 is a newborn calf.

Presets: blue giant {"species":"blue","spout":true} · sperm whale {"species":"sperm","barnacles":false} · beluga calf {"species":"beluga","size":0.5,"barnacles":false}

Files

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