Haunted House
A crooked two-storey clapboard house, about 9 m wide and 10 m to the roof ridge (12 m with the corner tower): sagging porch, steep gable with a round attic window, crooked shutters, boarded-up windows and a working front door. The upper floor, roof, chimney and tower lean as much as you like; the windows glow green, orange or violet at night.
- Size
- 10.3 × 13.9 × 9.8 m
- Triangles
- 2,964
- Kit
- Halloween
Tune it
5 knobs: Walls, Window glow, Crookedness, Tower, Boarded windows.
Specs
- Size
- 10.3 × 13.9 × 9.8 m width × height × depth
- Triangles
- 2,964 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 door · rotate
- Knobs
- 5 3 presets
- Night lights
- 2 window, lamp
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/haunted-house.mjs';
const hauntedHouse = createAsset();
scene.add(hauntedHouse); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -100° to 0° around y
hauntedHouse.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/haunted-house.mjs';
export function HauntedHouse() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import haunted-house.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$HauntedHouse/door.rotation_degrees.y = -100// Import haunted-house.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door").localEulerAngles = new Vector3(/* y: */ -100, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "haunted-house", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
walls | choice | grey plum moss black | grey | Siding colour: grey (weathered boards), plum (faded purple Victorian), moss (damp green), black (charred dark). |
glow | choice | green orange violet mixed | green | Colour the windows glow at night (and their tint by day): green (ghostly), orange (candle and jack-o-lantern), violet (witchy), mixed (a different light in each room). |
lean | range | 0 to 1, step 0.05 | 0.6 | How much the house has settled: 0 stands straight; 1 has the upper floor, roof, chimney and tower visibly leaning and the porch roof sagging. |
tower | toggle | on / off | true | A three-storey corner tower with a steep pointed roof on the right front corner. |
boards | toggle | on / off | true | Planks nailed across some windows and a shutter hanging off its hinge. Off = every window intact. |
Presets: jack-o-lantern manor {"walls":"black","glow":"orange","lean":0.4} · witch house {"walls":"plum","glow":"violet","lean":1} · ghost cottage {"walls":"moss","glow":"green","tower":false,"lean":0.8}
Files
| File | What |
|---|---|
| haunted-house.glb | GLB, default look · 429 KB |
| haunted-house.mjs | ES module, every knob live |
| haunted-house.obj | OBJ, static, no colour |
| haunted-house-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.