Gaitkit Open the lab
Battle Tank, A generic, stylised tracked battle tank, 7.4 m hull and about 9.8 m with the gun forward. The turret turns on its ring (turret, spin about y) and the gun elevates (barrel, rotate x, 20 degrees up to 8 down); road wheels, drive sprockets and idlers roll with distance inside the track loops (tracks are static geometry). Headlights, tail lights and the gunner sight glow at night. No national markings or insignia.
Vehicle · Rolls with distance

Battle Tank

A generic, stylised tracked battle tank, 7.4 m hull and about 9.8 m with the gun forward. The turret turns on its ring (turret, spin about y) and the gun elevates (barrel, rotate x, 20 degrees up to 8 down); road wheels, drive sprockets and idlers roll with distance inside the track loops (tracks are static geometry). Headlights, tail lights and the gunner sight glow at night. No national markings or insignia.

Size
3.8 × 4.1 × 10.7 m
Triangles
2,276
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Paint, Turret, Gun elevation, Side skirts.

Specs

Size
3.8 × 4.1 × 10.7 m
width × height × depth
Triangles
2,276
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
2.136 m
of travel per cycle
Moving parts
18
wheel_0 · spin, wheel_1 · spin, wheel_2 · spin, wheel_3 · spin, wheel_4 · spin, wheel_5 · spin, wheel_6 · spin, wheel_7 · spin, wheel_8 · spin, wheel_9 · spin, wheel_10 · spin, wheel_11 · spin, wheel_12 · spin, wheel_13 · spin, wheel_14 · spin, wheel_15 · spin, turret · spin, barrel · rotate
Knobs
4
3 presets
Night lights
3
headlight, taillight, sight

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/battle-tank.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  battleTank.position.z = dist;
  battleTank.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
paintchoiceolive desert grey winter woodlandoliveFinish: olive drab, desert tan, grey, winter white or woodland camouflage (blotches of green, brown and black). No markings.
turretrange-180 to 180, step 50Turret traverse in degrees: 0 gun forward, 90 to the left (+X), -90 to the right, 180 over the back deck.
elevationrange-0.4 to 1, step 0.050Gun elevation: 0 level, 1 raised 20 degrees, -0.4 depressed 8 degrees.
skirtstoggleon / offtrueArmour skirt plates hanging over the upper track run. Off shows the road wheels and return run fully.

Presets: parade {"paint":"olive","elevation":0.3} · desert patrol {"paint":"desert","turret":30} · woodland ambush {"paint":"woodland","turret":-40,"elevation":0.15}

Files

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