Barn
A classic board-and-batten farm barn on a stone plinth: gambrel or gable roof, two big sliding doors with white X braces on a top track, a hinged hayloft door under a hay beam, side windows and an optional cupola. Windows and the door lamp glow at night. 8 m wide by default, about 10 m deep.
- Size
- 8.7 × 11.1 × 12.5 m
- Triangles
- 2,524
- Kit
- Farm
Tune it
5 knobs: Roof, Paint, Width, Doors open, Cupola.
Specs
- Size
- 8.7 × 11.1 × 12.5 m width × height × depth
- Triangles
- 2,524 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 3 door_L · slide, door_R · slide, loft_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/barn.mjs';
const barn = createAsset();
scene.add(barn); // rests on y = 0, front faces +Z
// 'loft_door' pivots on its hinge: -110° to 0° around y
barn.getObjectByName('loft_door').rotation.y = THREE.MathUtils.degToRad(-110);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/barn.mjs';
export function Barn() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import barn.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Barn/loft_door.rotation_degrees.y = -110// Import barn.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("loft_door").localEulerAngles = new Vector3(/* y: */ -110, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "barn", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
roof | choice | gambrel gable | gambrel | gambrel (the classic two-pitch barn roof with a tall hayloft) or gable (a simple steep pitched roof, older or prairie barns). |
paint | choice | red white grey natural | red | red (classic barn red with white trim), white (dairy barn with green trim), grey (weathered grey boards with a rusty roof), natural (bare brown timber). |
width | range | 6 to 12, step 0.5 | 8 | Frontage in metres across X. Depth is 1.3 × width and wall height grows a little with it. |
doors | range | 0 to 1, step 0.05 | 0 | How far the two big sliding doors are rolled open along their track. 0 closed, 1 fully open showing the dark interior. |
cupola | toggle | on / off | true | Louvred vent cupola with a little pyramid roof and weathervane on the ridge. |
Presets: prairie barn {"roof":"gable","paint":"grey","cupola":false,"width":7} · dairy barn {"paint":"white","width":11} · harvest time {"paint":"red","doors":1}
Files
| File | What |
|---|---|
| barn.glb | GLB, default look · 401 KB |
| barn.mjs | ES module, every knob live |
| barn.obj | OBJ, static, no colour |
| barn-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.