Gaitkit Open the lab
Cannon, A muzzle-loading cannon on its carriage: a ship's gun on a low four-truck carriage, or a field gun on two big spoked wheels with a trail. The muzzle points +Z; the barrel is a part named barrel that pivots on its trunnions about x (elevation), and the wheels roll with distance travelled. Default barrel is 2 m long.
Prop · Rolls with distance

Cannon

A muzzle-loading cannon on its carriage: a ship's gun on a low four-truck carriage, or a field gun on two big spoked wheels with a trail. The muzzle points +Z; the barrel is a part named barrel that pivots on its trunnions about x (elevation), and the wheels roll with distance travelled. Default barrel is 2 m long.

Size
2.1 × 1.0 × 2.5 m
Triangles
1,364
Open in the lab Loop clip inside. The download carries the knobs you set here.

Tune it

5 knobs: Carriage, Barrel, Elevation, Size, Shot and tools.

Specs

Size
2.1 × 1.0 × 2.5 m
width × height × depth
Triangles
1,364
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
1.257 m
of travel per cycle
Moving parts
5
barrel · rotate, wheel_0 · spin, wheel_1 · spin, wheel_2 · spin, wheel_3 · spin
Knobs
5
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/cannon.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  cannon.position.z = dist;
  cannon.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
carriagechoicenaval fieldnavalnaval (low red-ochre ship's carriage on four small wooden trucks, for gun decks and forts) or field (two tall spoked wheels and a long trail resting on the ground, for land batteries).
barrelchoiceiron bronze verdigrisironBarrel metal: iron (dark grey-black), bronze (warm gold-brown) or verdigris (old bronze gone sea-green).
elevationrange-5 to 12, step 13Barrel elevation in degrees, positive raises the muzzle. Same as rotating the barrel part about x; the wooden quoin under the breech follows.
sizerange0.6 to 1.5, step 0.051Overall scale. 1 is a 12-pounder with a 2 m barrel; 0.6 a light 4-pounder; 1.5 a heavy 32-pounder.
shottoggleon / offtrueA pyramid of cannonballs, a powder keg and a rammer laid beside the gun.

Presets: gun deck {"carriage":"naval","barrel":"iron","elevation":0} · fort battery {"carriage":"field","barrel":"bronze","elevation":10,"size":1.2} · sunken relic {"carriage":"naval","barrel":"verdigris","shot":false,"elevation":-3}

Files

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