Roof vents
A low-poly greenhouse roof-vent module: a white-framed glass ridge section with dark blue cresting and finials, and a leaf green sash on each slope that swings open on its ridge hinge, pushed by a telescoping opener arm. It ships with an 8-second seamless loop.

Left rail: colours and the 3 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,628
- Vertices
- 4,884
- Meshes · materials
- 23 · 23
- Size (W × H × D)
- 1.2 m × 83 cm × 1.9 m
- File
- GLB · 165 KB
- Animation
- scene-motion · 8.0s
- Style
- Low-poly
- Collection
- Plant Shop and Greenhouse
Palette · named materials
- white (glazing frame)#f4f1ec
- leaf green (vent sashes, tufts)#3a883a
- leaf green dark (tufts)#235223
- leaf green light (tufts)#5db15d
- glass blue (opener cylinders)#2e67b8
- glass blue dark (ridge cresting, finials)#1f457a
- glass blue light (glass, 30% opacity)#6190d1
- soot black (gutters, hinges, brackets)#1b1b22
- mid grey (opener rods)#7d828c
- terracotta (finial knobs)#be5937
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/plant-shop-and-greenhouse-roof-vents/9f92729df4/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Roof vents for the Plant Shop and Greenhouse 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. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Plant Shop and Greenhouse kit (Low-poly style, flat-lowpoly direction): Glass, humidity and green. Use ONLY the kit palette, by name: leaf green #3a883a, glass blue #2e67b8, terracotta #be5937, white #f4f1ec, leaf green dark #235223, glass blue dark #1f457a, leaf green light #5db15d, glass blue light #6190d1, 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 `plantMix` (0–1, default 0.5) for the kit's "Plant mix" 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 abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 12
- Roof vents
- Glazing frame
- Glass
- Ridge cresting and finials
- Gutters
- Gutter tufts
- Front vent sash
- Back vent sash
- Front opener cylinder
- Front opener rod
- Back opener cylinder
- Back opener rod
Note: Size at the defaults: 1.2 m long (X, along the ridge; 1.24 m including the gutter end caps), 1.86 m deep across both gutters (Z), and 0.83 m tall to the finial knobs. The ridge sits at 0.54 m and the pitch is 30°. This is a ridge section of greenhouse roof that you set on top of a glasshouse wall, so it's not a whole building. The origin is at the bottom centre, the model rests on y = 0, and the front slope faces +Z. The GLB has 1,628 triangles and one 8 s seamless clip. Each sash rotates about its ridge hinge axis, front and back in opposite phase. Each opener cylinder swivels on its foot pin, and its rod (a child node) slides along the cylinder axis to follow the sash pin. The frame, glass, cresting, gutters and tufts never move. Every material is named exactly after a kit palette colour. 10 of the 12 colours are used (warm white and dark wood are not). The exporter writes one material per mesh, so the same name appears on several materials: recolour by name. The glass is glass blue light at 30% opacity with alpha blending. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. plantMix (the kit's 'Plant mix') sets how many moss-and-seedling tufts grow in the gutters, from 2 up to every slot, using a seeded ranking so raising it only adds tufts. length runs from 0.9 to 1.8 m, and ventOpen sets the peak sash angle from 8° to 30°. Only the default params were rendered and checked; the extremes were not captured. glb-lint reports 0 errors and 5 heuristic warnings: per-mesh duplicate materials, non-indexed (flat-shaded) geometry, nested overlaps in the opener and frame brackets, and the glass flagged as 'detached' even though it sits in the frame. The verdict reads UNVERIFIED only because no host requirements contract was supplied. plan-check passes except for its part-id regex, which rejects the hyphens in the slug-based ids this library requires; with the ids substituted it passes. three-check accepts the real ids, and all 12 survive the GLB reload. Fix rounds: (1) the build-time pose call was passing the part registry where the parts map was expected, which crashed readiness; (2) the hero framing was loosened so the front gutter is no longer cropped.
About the Roof vents 3D model
Roof vents is a free animated low-poly 3D model from the Plant Shop and Greenhouse set. It measures 1.2 m × 83 cm × 1.9 m (W × H × D) at real-world scale and is built from 1,628 triangles across 23 meshes, with 12 named parts and a baked animation (8.0 s). Download the 165 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Roof 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), 165 KB: 1,628 triangles, 4,884 vertices and 23 materials, modelled in metres at 1.2 m × 83 cm × 1.9 m.
- Is Roof vents animated?
- Yes — the GLB carries a baked animation (8.0 s), ready to play with any glTF animation mixer.
- 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 Roof 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 Plant Shop and Greenhouse →
Trolley
Plant Shop and Greenhouse4,060 tris

Door bell
Plant Shop and Greenhouse1,888 tris

Misting system
Plant Shop and Greenhouse2,616 tris

Price tags
Plant Shop and Greenhouse1,196 tris

Soil bags
Plant Shop and Greenhouse1,538 tris

Seed racks
Plant Shop and Greenhouse3,236 tris

Plants by type
Plant Shop and Greenhouse3,840 tris

Watering cans
Plant Shop and Greenhouse1,288 tris
Free under the 1DesignTool 3D library license. Model #39 of 1579.