Gaitkit Open the lab
Castle Gatehouse, A stone gatehouse two 4 m grid cells wide (8 m along X) with a 3 m arched passage, twin flanking towers, an iron portcullis that slides up into the masonry (slide rig on y) and a timber drawbridge hinged at the threshold (rotate rig on x: 0 lowered toward +Z, -90 raised shut). Lowered, the drawbridge reaches 4.5 m past the front edge. Torches glow at night.
Building · 2 moving parts

Castle Gatehouse

A stone gatehouse two 4 m grid cells wide (8 m along X) with a 3 m arched passage, twin flanking towers, an iron portcullis that slides up into the masonry (slide rig on y) and a timber drawbridge hinged at the threshold (rotate rig on x: 0 lowered toward +Z, -90 raised shut). Lowered, the drawbridge reaches 4.5 m past the front edge. Torches glow at night.

Size
11.4 × 12.8 × 9.8 m
Triangles
3,948
Open in the lab Ready for any engine. The download carries the knobs you set here.

Tune it

4 knobs: Towers, Stone, Open, Banners.

Specs

Size
11.4 × 12.8 × 9.8 m
width × height × depth
Triangles
3,948
of 6,000
Draw calls
1
one vertex-colour material
Moving parts
2
portcullis · slide, drawbridge · rotate
Knobs
4
3 presets
Night lights
1
torch

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/castle-gate.mjs';

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

// 'drawbridge' pivots on its hinge: -90° to 0° around x
castleGate.getObjectByName('drawbridge').rotation.x = THREE.MathUtils.degToRad(-90);

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

Knobs

KnobTypeValuesDefaultWhat it does
towerschoiceround square noneroundFlanking towers either side of the gate: round drums, square towers, or none (a plain gate tower whose sides take castle-wall pieces directly).
stonechoicelimestone granite sandstone slate redstonelimestoneStone for the whole kit: limestone (pale warm grey, classic), granite (neutral grey), sandstone (warm tan, desert fort), slate (dark blue-grey, grim northern hold), redstone (red-brown). Use the same value on every Castle piece so they match.
opentoggleon / offtrueRest pose. On: portcullis raised and drawbridge lowered (welcoming). Off: portcullis down and drawbridge drawn up flat against the arch (under siege). The rigs still move both.
bannerchoicecrimson azure forest gold violet black nonecrimsonColour of the long banners hanging on the towers: crimson, azure, forest, gold, violet, black, or none. Plain colour fields with a pale stripe, no heraldry.

Presets: siege ready {"open":false,"banner":"black","stone":"slate"} · royal gate {"towers":"round","banner":"azure","stone":"limestone"} · frontier gate {"towers":"square","stone":"sandstone","banner":"gold"}

Files

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