Saloon
A two-storey frontier saloon with a tall false front and a blank signboard, a boardwalk porch, a railed balcony on posts and swinging batwing doors (batwing_L and batwing_R rotate both ways about y). Clapboard walls, lanterns by the door and windows glow at night.
- Size
- 9.5 × 9.5 × 12.2 m
- Triangles
- 3,020
- Kit
- Wild West
Tune it
4 knobs: Paint, False front, Width, Balcony.
Specs
- Size
- 9.5 × 9.5 × 12.2 m width × height × depth
- Triangles
- 3,020 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 2 batwing_L · rotate, batwing_R · rotate
- Knobs
- 4 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/saloon.mjs';
const saloon = createAsset();
scene.add(saloon); // rests on y = 0, front faces +Z
// 'batwing_L' pivots on its hinge: -75° to 75° around y
saloon.getObjectByName('batwing_L').rotation.y = THREE.MathUtils.degToRad(-75);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/saloon.mjs';
export function Saloon() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import saloon.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Saloon/batwing_L.rotation_degrees.y = -75// Import saloon.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("batwing_L").localEulerAngles = new Vector3(/* y: */ -75, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "saloon", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
paint | choice | weathered oxblood mustard sage whitewash | oxblood | Clapboard colourway: weathered (bare grey-brown boards), oxblood (barn red), mustard (ochre yellow), sage (dusty green), whitewash (off-white). |
front | choice | stepped flat arched | stepped | Shape of the tall facade that hides the roof: stepped (raised centre with shoulders), flat (straight top with a heavy cornice), arched (curved centre pediment). |
width | range | 7 to 11, step 0.5 | 8.5 | Street frontage in metres. Depth stays 9 m; wider saloons get more windows. |
balcony | toggle | on / off | true | Railed upper balcony on posts over the boardwalk. Off gives a plain sloped porch roof instead. |
Presets: ghost town {"paint":"weathered","front":"flat","width":7.5} · grand saloon {"paint":"whitewash","front":"arched","width":11} · boomtown bar {"paint":"mustard","front":"stepped","balcony":false}
Files
| File | What |
|---|---|
| saloon.glb | GLB, default look · 448 KB |
| saloon.mjs | ES module, every knob live |
| saloon.obj | OBJ, static, no colour |
| saloon-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.