Vents
A low-poly city rooftop exhaust vent: a brick curb on a tar flashing, a louvred steel housing, and a tall stack topped by a turbine ventilator with an orange dome cap. A black gooseneck breather pipe sits beside the stack.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 1,104
- Vertices
- 2,801
- Meshes · materials
- 15 · 15
- Size (W × H × D)
- 1.2 m × 2.5 m × 1.2 m
- File
- GLB · 107 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Rooftop District
Palette · named materials
- flashing, housing core (tar grey dark)#525860
- housing posts, lid, louvre slats, turbine rings (tar grey light)#a3a5a8
- curb (brick red)#c32222
- curb coping (brick red dark)#821717
- stack pipe, turbine vanes (mid grey)#7d828c
- stack collar, turbine hub, finial, gooseneck (soot black)#1b1b22
- dome cap, stack band (sunset orange)#ed7e1d
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/rooftop-district-vents/34aeab4471/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Vents for the Rooftop District kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. This is one part of the Rooftop District kit (Low-poly style, flat-lowpoly direction): Life above the streets. Use ONLY the kit palette, by name: brick red #c32222, tar grey #757e8a, sunset orange #ed7e1d, water-tower brown #6b4a2e, brick red dark #821717, tar grey dark #525860, brick red light #db5757, tar grey light #a3a5a8, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `skylineHeight` (0–1, default 0.5) for the kit's "Skyline height" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Direction: Low-poly · family products
- three-check PASS · glb-lint PASS
Named parts · 9
- Vent
- Tar flashing
- Brick curb
- Louvred housing
- Louvre slats
- Exhaust stack
- Turbine ventilator
- Dome cap
- Gooseneck pipe
Note: Size: the footprint is 1.20 × 1.20 m (tar flashing), the brick curb is 1.0 m square, and the model is 2.49 m tall at the defaults. The origin is at the bottom centre, the model rests on y = 0 and the front faces +Z (the gooseneck points out over the back-right corner). skylineHeight (the kit's 'Skyline height') sets the exhaust stack height from 0.5 m at 0 to 1.3 m at 1, so the total height runs from 2.09 m to 2.89 m. The gooseneck riser shortens at low values so it never reaches the turbine. stackDiameter scales the stack and turbine together. louvreCount and vaneCount rebuild the slats and vanes in the viewer. The GLB is baked at the default params, and only the defaults were rendered and checked. The GLB has 1,104 triangles in 15 meshes, is static and has no animation clip. Every material is named after its kit palette colour, so you can recolour by name. The exporter writes one material per mesh, so some colour names appear more than once (15 materials, 7 distinct colours). Water-tower brown, brick red light, warm white, tar grey and dark wood are not used. The viewer uses exposure 0.58 rather than the direction's 1.05 so the light greys and orange do not bleach; this does not affect the GLB. The turbine is modelled static, as the brief asks. glb-lint: 0 errors and 6 heuristic warnings, all expected. The material-count and duplicate warnings come from the per-mesh export. Geometry is non-indexed because it is flat-shaded. The overlap warnings are the housing core inside its frame, the band on the stack and the hub inside the turbine. The 'detached' parts (coping, louvres, gooseneck) sit on parts in other groups rather than reaching y = 0. The scale warning compares the height with a 1 m reference. plan-check passes except for its part-id regex, which rejects the hyphens in the slug-based ids this library requires; three-check accepts those ids, and all 9 survive the GLB reload.
About the Vents 3D model
Vents is a free low-poly 3D model from the Rooftop District set. It measures 1.2 m × 2.5 m × 1.2 m (W × H × D) at real-world scale and is built from 1,104 triangles across 15 meshes, with 9 named parts. Download the 107 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Vents 3D model free for commercial use?
- Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
- What file format is it, and how big is it?
- A single binary glTF 2.0 file (.glb), 107 KB: 1,104 triangles, 2,801 vertices and 15 materials, modelled in metres at 1.2 m × 2.5 m × 1.2 m.
- Can I animate Vents?
- It ships as a static mesh. Its 9 named parts are separate nodes, so you can move or animate each one in your engine.
- Which engines and tools can open it?
- Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
- How was the Vents 3D model made?
- Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.
More like this
All of Rooftop District →
Zip line
Rooftop District1,952 tris

Billboard flicker
Rooftop District2,676 tris

Spinning vents
Rooftop District2,872 tris

Satellite dishes
Rooftop District1,540 tris

Planters
Rooftop District1,812 tris

Pigeon coop
Rooftop District1,772 tris

String lights
Rooftop District2,108 tris

Deck chairs
Rooftop District924 tris
Free under the 1DesignTool 3D library license. Model #10 of 902.