Gaitkit Open the lab
Tropical Fish, A small coral-reef fish, 10-25 cm long depending on species: clownfish, blue tang, angelfish, butterflyfish or yellow tang, alone or as a little school. Swims by distance: the tail sweeps, the body flexes and the side fins paddle; it cruises 0.5 m above the reef.
Creature · Swims

Tropical Fish

A small coral-reef fish, 10-25 cm long depending on species: clownfish, blue tang, angelfish, butterflyfish or yellow tang, alone or as a little school. Swims by distance: the tail sweeps, the body flexes and the side fins paddle; it cruises 0.5 m above the reef.

Size
0.03 × 0.05 × 0.10 m
Triangles
880
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Species, School, Formation, Size.

Specs

Size
0.03 × 0.05 × 0.10 m
width × height × depth
Triangles
880
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
0.07 m
of travel per cycle
Altitude
0.5 m
below the surface
Moving parts
6
body_0 · rotate, seg_0 · rotate, tail_0 · rotate, pectoral_0_L · rotate, pectoral_0_R · rotate, fish_0 · 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/tropical-fish.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  tropicalFish.position.set(0, groundY + tropicalFish.userData.altitude, dist);
  tropicalFish.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
specieschoiceclown tang angel butterfly yellowtangclownclown (orange with three white bands edged black, 10 cm), tang (royal blue with a black swirl and yellow tail, 25 cm), angel (tall silver angelfish with black bars and long sail fins), butterfly (yellow disc with a black eye band and a false eye spot), yellowtang (bright yellow oval).
schoolrange1 to 6, step 11How many fish swim together as one model, in a loose formation that beats out of step.
seedrange1 to 30, step 12Seed for where each fish of a school sits and its rhythm.
sizerange0.5 to 8, step 0.11Uniform scale on top of the species length. 1 is real size; 4 makes a 40 cm aquarium centrepiece; 8 is a fish you could ride.

Presets: blue tang {"species":"tang"} · clownfish pair {"species":"clown","school":2,"seed":4} · angelfish school {"species":"angel","school":4,"seed":9}

Files

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