drag to orbit
Building · 1 moving part
Cottage
A gabled village house with a working front door, lit windows at night and a chimney. Wall and roof materials swap it between farmhouse, fishing village and medieval town.
- Size
- 5.6 × 5.5 × 4.7 m
- Triangles
- 408
Tune it
6 knobs: Walls, Roof, Floors, Width, Chimney, Porch.
Specs
- Size
- 5.6 × 5.5 × 4.7 m width × height × depth
- Triangles
- 408 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 door · rotate
- Knobs
- 6 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/cottage.mjs';
const cottage = createAsset();
scene.add(cottage); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -100° to 0° around y
cottage.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/cottage.mjs';
export function Cottage() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import cottage.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Cottage/door.rotation_degrees.y = -100// Import cottage.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": "cottage", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
walls | choice | whitewash timber stone brick | timber | whitewash (plain white), timber (cream with dark beams, Tudor), stone (grey fieldstone), brick (red). |
roof | choice | thatch slate terracotta moss | terracotta | thatch (straw), slate (grey), terracotta (orange tiles), moss (overgrown green). |
floors | choice | 1 2 | 1 | One or two storeys. Two floors adds a row of upper windows. |
width | range | 4 to 8, step 0.5 | 5 | Frontage in metres. Depth stays 4 m so cottages line up on a street. |
chimney | toggle | on / off | true | Stone chimney stack on the right side of the roof. |
porch | toggle | on / off | false | Small roofed porch on two posts over the front door. |
Presets: fishing hut {"walls":"whitewash","roof":"slate","width":4,"chimney":false} · town house {"walls":"brick","roof":"slate","floors":2,"porch":true} · old farm {"walls":"stone","roof":"thatch","width":7}
Files
| File | What |
|---|---|
| cottage.glb | GLB, default look · 67 KB |
| cottage.mjs | ES module, every knob live |
| cottage.obj | OBJ, static, no colour |
| cottage-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.