City Building
A mid-rise city building generator: 1 to 8 floors, 2 to 6 window bays of 3.2 m (6.4 to 19.2 m wide, 9.6 m deep), brick, stucco, concrete or glass facades, an optional row of shops with awnings, balconies and four roof types. The seed reshuffles colours, window patterns, shop awnings and roof clutter, so one asset fills a whole street; a seeded share of the windows glows at night.
- Size
- 13.7 × 16.3 × 11.5 m
- Triangles
- 2,674
- Kit
- City Street
Tune it
7 knobs: Floors, Facade, Width, Shopfront, Balconies, Roof, Seed.
Specs
- Size
- 13.7 × 16.3 × 11.5 m width × height × depth
- Triangles
- 2,674 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 1 door · rotate
- Knobs
- 7 3 presets
- Night lights
- 3 window, shop, 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/city-building.mjs';
const cityBuilding = createAsset();
scene.add(cityBuilding); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -100° to 0° around y
cityBuilding.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/city-building.mjs';
export function CityBuilding() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import city-building.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$CityBuilding/door.rotation_degrees.y = -100// Import city-building.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": "city-building", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
floors | range | 1 to 8, step 1 | 4 | Number of storeys, 1 to 8. The ground floor is 4.2 m with shops (3.4 m without), upper floors 3.1 m, so 4 floors with shops is about 13.5 m to the cornice. |
facade | choice | brick stucco concrete glass | brick | brick (red-brown with stone lintels and sills, pre-war tenement), stucco (pastel render with shutters, European old town), concrete (grey ribbon windows, post-war modern), glass (curtain wall with metal mullions, new office or condo). |
width | range | 2 to 6, step 1 | 4 | Frontage in window bays of 3.2 m: 2 is a narrow townhouse (6.4 m), 6 a big block (19.2 m). Depth is always 9.6 m so buildings line up along a street. |
shopfront | toggle | on / off | true | Ground floor of shops: big glass windows that glow at night, a sign band without text and striped or plain awnings in seeded colours. Off gives a residential ground floor with a plinth and a front stoop. |
balconies | toggle | on / off | false | Balconies on a seeded set of front bays above the ground floor: iron railings on brick and stucco, glass balustrades on concrete and glass. |
roof | choice | flat water tank garden pitched | flat | flat (parapet, stair hut, AC units and vents), water tank (flat roof with a wooden water tower on legs, New York style), garden (planters, small trees and a pergola), pitched (slate or tile gable roof with dormers and chimneys). |
seed | range | 1 to 999, step 1 | 7 | Variation seed: wall and trim colours, window layout and blinds, which windows are lit at night, shop awnings and sign colours, balcony pattern and roof clutter. Every seed is a different building. |
Presets: corner deli {"floors":3,"facade":"brick","width":3,"shopfront":true,"roof":"water tank","seed":21} · old town row {"floors":4,"facade":"stucco","width":2,"shopfront":true,"balconies":true,"roof":"pitched","seed":5} · glass condo {"floors":8,"facade":"glass","width":5,"shopfront":false,"balconies":true,"roof":"garden","seed":42}
Files
| File | What |
|---|---|
| city-building.glb | GLB, default look · 221 KB |
| city-building.mjs | ES module, every knob live |
| city-building.obj | OBJ, static, no colour |
| city-building-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.