Gaitkit Open the lab
Tumbleweed, A seeded tumbleweed: a loose ball of dry curved twigs around a denser tangled core. The whole ball (tumbleweed_ball) is a spin part that rolls with distance along +Z, so it can bowl down a dusty street.
Nature · Rolls with distance

Tumbleweed

A seeded tumbleweed: a loose ball of dry curved twigs around a denser tangled core. The whole ball (tumbleweed_ball) is a spin part that rolls with distance along +Z, so it can bowl down a dusty street.

Size
0.77 × 0.74 × 0.76 m
Triangles
1,646
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Size, Density, Colour, Seed.

Specs

Size
0.77 × 0.74 × 0.76 m
width × height × depth
Triangles
1,646
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
2.217 m
of travel per cycle
Moving parts
1
tumbleweed_ball · spin
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/tumbleweed.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  tumbleweed.position.z = dist;
  tumbleweed.userData.tick(dist);            // wheels roll exactly with the distance
  renderer.render(scene, camera);
});

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

Knobs

KnobTypeValuesDefaultWhat it does
sizerange0.4 to 1.4, step 0.050.8Diameter in metres. 0.4 is a small clump, 1.4 a big old one taller than a fence rail.
densityrange0.3 to 1, step 0.050.65How many twigs: 0.3 is airy and see-through, 1 is a thick tangled ball.
colourchoicedry bleached rustydrydry (straw tan), bleached (sun-whitened grey), rusty (reddish autumn thistle).
seedrange1 to 60, step 19Reshapes every twig. Same seed always builds the same tumbleweed.

Presets: desert drifter {"size":0.7,"colour":"dry","density":0.55} · giant tumbleweed {"size":1.4,"density":0.9,"seed":23} · bleached bones {"colour":"bleached","density":0.4,"seed":31}

Files

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