Greenhouse
A walk-in garden greenhouse 2.5 m wide and 2.5 to 5 m long (2.4 m to the ridge): an aluminium frame with a sliding door or a white Victorian frame on a brick knee wall with a hinged door (door), a roof vent that opens (vent), slatted staging down both sides with seeded pots and seedlings, and tomato plants or flowers at the back. Glass reads as clear (frames and glints) or frosted panes.
- Size
- 2.6 × 2.7 × 3.6 m
- Triangles
- 4,012
Tune it
5 knobs: Style, Length, Glass, Crop, Seed.
Specs
- Size
- 2.6 × 2.7 × 3.6 m width × height × depth
- Triangles
- 4,012 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 2 vent · rotate, door · rotate
- Knobs
- 5 3 presets
- Night lights
- 0 none
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/greenhouse.mjs';
const greenhouse = createAsset();
scene.add(greenhouse); // rests on y = 0, front faces +Z
// 'vent' pivots on its hinge: 0° to 35° around z
greenhouse.getObjectByName('vent').rotation.z = THREE.MathUtils.degToRad(0);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/greenhouse.mjs';
export function Greenhouse() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import greenhouse.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$Greenhouse/vent.rotation_degrees.z = 0// Import greenhouse.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("vent").localEulerAngles = new Vector3(/* z: */ 0, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "greenhouse", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | aluminium victorian | victorian | aluminium (silver frame to the ground, sliding door, modern allotment greenhouse) or victorian (white-painted frame on a brick knee wall, hinged door, ridge cresting and finials). |
length | range | 2.5 to 5, step 0.5 | 3.5 | Length front to back in metres, 2.5 to 5. Every 60 cm adds a glazing bay and more staging. |
glass | choice | clear frosted | clear | clear (you see the plants through the frame, glass shown by light glints) or frosted (solid pale panes, for engines that make the "glass" mesh transparent themselves). |
crop | choice | tomatoes flowers seedlings | tomatoes | What grows at the back: tomatoes (tall vines on canes with red fruit), flowers (pots of geraniums in bloom), seedlings (trays of young plants and an empty floor). |
seed | range | 1 to 50, step 1 | 5 | Reshuffles pot sizes, colours and plant heights. |
Presets: victorian glasshouse {"style":"victorian","length":4,"crop":"flowers"} · allotment greenhouse {"style":"aluminium","length":3,"crop":"tomatoes"} · seed nursery {"style":"aluminium","length":5,"crop":"seedlings","glass":"frosted"}
Files
| File | What |
|---|---|
| greenhouse.glb | GLB, default look · 634 KB |
| greenhouse.mjs | ES module, every knob live |
| greenhouse.obj | OBJ, static, no colour |
| greenhouse-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.