Wall with Door
A snap-together wall with a working hinged door for 2 m grid levels: 3 m tall, 0.25 m thick, 2, 4 or 6 m long with a 1.1 x 2.22 m doorway in the middle, the same opening in every style: dungeon (oak planks with iron bands and studs in quoined stone jambs under a flat arch), scifi (a bulkhead door with a viewport and a status light in a chamfered frame) or house (a four-panel door in a wood casing). The door swings out toward +Z on its left hinge (rig "door", 0 to -90 degrees). Runs along X centred on a cell edge like level-wall, so the two mix freely.
- Size
- 2.0 × 3.0 × 0.68 m
- Triangles
- 2,364
Tune it
5 knobs: Style, Colourway, Length, Wear, Lamp.
Specs
- Size
- 2.0 × 3.0 × 0.68 m width × height × depth
- Triangles
- 2,364 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 door · rotate
- Knobs
- 5 3 presets
- Night lights
- 2 lamp, light
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/wall-door.mjs';
const wallDoor = createAsset();
scene.add(wallDoor); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -90° to 0° around y
wallDoor.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-90);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/wall-door.mjs';
export function WallDoor() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import wall-door.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$WallDoor/door.rotation_degrees.y = -90// Import wall-door.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door").localEulerAngles = new Vector3(/* y: */ -90, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "wall-door", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | dungeon scifi house | dungeon | Shared by every Modular Level Kit piece: dungeon (coursed stone blocks, iron and oak), scifi (bolted panels, trims and glowing light strips), house (plaster over wood or brick wainscot, timber trim). Use one value across a level. |
colorway | choice | classic dark warm | classic | Palette within the style, shared across the kit: classic (dungeon grey granite, scifi light grey with orange, house cream plaster and brown wood), dark (basalt, gunmetal with yellow, white plaster with black timber), warm (sandstone, beige retro with teal, ochre plaster with honey wood and brick). |
length | range | 1 to 3, step 1 | 1 | Length in 2 m grid units; the doorway stays in the middle (a length-2 wall puts it across the joint of its two units). |
wear | range | 0 to 1, step 0.1 | 0.3 | 0 = new; higher adds cracks, moss and missing blocks, grime and dead lights, stains and fallen plaster, and a weathered door. |
lamp | toggle | on / off | true | A light beside the doorway on the +Z face: torch (dungeon), upright light bar (scifi) or a lantern (house). Lit at night. |
Presets: cell door {"style":"dungeon","colorway":"dark","wear":0.6} · airlock {"style":"scifi","colorway":"dark","lamp":false} · front door {"style":"house","colorway":"dark","length":2}
Files
| File | What |
|---|---|
| wall-door.glb Pro | GLB, default look · 415 KB |
| wall-door.mjs Pro | ES module, every knob live |
| wall-door.obj Pro | OBJ, static; colours in the .mtl |
| wall-door.mtl | OBJ colours; keep it next to the .obj |
| wall-door-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.