Factory
A 7 m tall industrial hall, 11 to 27.5 m wide (2 to 5 bays of 5.5 m) and 15 m deep, in brick, precast concrete or painted metal cladding: a sawtooth north-light roof with glazed faces, a low gable with a glazed ridge monitor, or a flat roof behind a parapet; tall steel-grid windows with arched or flat heads between pilasters, a roll-up loading door that slides up into its header (part door), a side door with a canopy, gooseneck lamps, a blank sign panel and an optional free-standing brick smokestack. Turbine vents on the roof spin (vent_i, tick + loop); glazing and lamps glow at night; wear adds soot, streaks and broken panes.
- Size
- 18.0 × 16.7 × 19.9 m
- Triangles
- 4,372
Tune it
5 knobs: Bays, Walls, Roof, Wear, Smokestack.
Specs
- Size
- 18.0 × 16.7 × 19.9 m width × height × depth
- Triangles
- 4,372 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 6.283 m of travel per cycle
- Moving parts
- 3 door · slide, vent_0 · spin, vent_1 · spin
- 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/factory.mjs';
const factory = createAsset();
scene.add(factory); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/factory.mjs';
export function Factory() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import factory.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
add_child(preload("res://factory.glb").instantiate())// Import factory.glb with glTFast (com.unity.cloud.gltfast).
// Drop it in the scene: 1 unit = 1 metre, +Z is its front.Use the gaitkit MCP server: get_variant({ "id": "factory", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
bays | range | 2 to 5, step 1 | 3 | Width in 5.5 m bays, 2 to 5 (11 to 27.5 m). Each bay gets a tall window between pilasters; the loading door takes the middle bay. |
walls | choice | brick concrete metal | brick | brick (red brick courses, stone dressings, arched window heads, green steel), concrete (precast panels, flat heads, orange door), metal (blue ribbed cladding, yellow door). |
roof | choice | sawtooth gable flat | sawtooth | sawtooth (three north-light teeth with glazed faces toward the front), gable (low pitch with a glazed ridge monitor), flat (parapet with skylights). |
wear | range | 0 to 1, step 0.05 | 0.35 | Age and grime: 0 is freshly built; higher adds soot, rust and rain streaks under the sills and, above 0.5, broken panes. |
chimney | toggle | on / off | true | A free-standing 17 m round brick smokestack with banded rings and a sooty crown behind the left corner. |
Presets: old brick mill {"walls":"brick","roof":"sawtooth","bays":4,"wear":0.7} · concrete works {"walls":"concrete","roof":"gable","chimney":false,"wear":0.2} · tin shed plant {"walls":"metal","roof":"flat","bays":2,"chimney":false,"wear":0.5}
Files
| File | What |
|---|---|
| factory.glb Pro | GLB, default look · 617 KB |
| factory.mjs Pro | ES module, every knob live |
| factory.obj Pro | OBJ, static; colours in the .mtl |
| factory.mtl | OBJ colours; keep it next to the .obj |
| factory-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.