Castle Tower
A stone castle tower that fills one 4 m grid cell: round (4.8 m across) or square (4.4 m), 9 to 18 m to the battlements, with a corbelled crenellated top or a tall cone or pyramid roof and a pennant. Doors at the 6 m wall-walk level on its -X and +X sides meet castle-wall pieces; windows glow at night.
- Size
- 6.3 × 21.2 × 6.3 m
- Triangles
- 2,088
- Kit
- Castle
Tune it
5 knobs: Shape, Height, Roof, Stone, Banner.
Specs
- Size
- 6.3 × 21.2 × 6.3 m width × height × depth
- Triangles
- 2,088 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 5 3 presets
- Night lights
- 1 window
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.
import { createAsset } from 'https://gaitkit.com/cdn/castle-tower.mjs';
const castleTower = createAsset();
scene.add(castleTower); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/castle-tower.mjs';
export function CastleTower() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import castle-tower.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://castle-tower.glb").instantiate())// Import castle-tower.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "castle-tower", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
shape | choice | round square | round | round (drum tower, 4.8 m across, cone roof) or square (4.4 m, quoined corners, pyramid roof). |
height | range | 9 to 18, step 0.5 | 12 | Metres from the ground to the battlement walk. 9 is a squat flanking tower just above the 6 m walls; 18 a tall corner tower. |
roof | toggle | on / off | true | Tall pointed roof (cone on round, pyramid on square) with a pennant. Off leaves an open crenellated fighting top with a flagpole. |
stone | choice | limestone granite sandstone slate redstone | limestone | Stone 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. |
banner | choice | crimson azure forest gold violet black | crimson | Colour of the pennant or flag on top: crimson, azure, forest, gold, violet or black. Match it with castle-gate, castle-keep and banner-pole. |
Presets: fairy-tale spire {"shape":"round","height":16,"roof":true,"stone":"limestone","banner":"azure"} · border keep tower {"shape":"square","height":13,"roof":false,"stone":"slate","banner":"black"} · desert watch {"shape":"square","height":10,"roof":false,"stone":"sandstone","banner":"gold"}
Files
| File | What |
|---|---|
| castle-tower.glb | GLB, default look · 264 KB |
| castle-tower.mjs | ES module, every knob live |
| castle-tower.obj | OBJ, static, no colour |
| castle-tower-params.json | knob 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.