Classroom Set
A furnished classroom: rows of 65 cm pupil desks (72 cm high) with stacking chairs, books and a few backpacks, a teacher desk with drawers that slide, a globe and a swivel chair, and a 3.6 m whiteboard or chalkboard with abstract marks on a wall with a clock. The pupils face the board at -Z; the camera side (+Z) is the back of the room.
- Size
- 5.6 × 2.7 × 6.1 m
- Triangles
- 2,800
Tune it
5 knobs: Rows, Columns, Board, Chairs, Wall.
Specs
- Size
- 5.6 × 2.7 × 6.1 m width × height × depth
- Triangles
- 2,800 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 3 drawer_0 · slide, drawer_1 · slide, teacher_chair · 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/classroom-set.mjs';
const classroomSet = createAsset();
scene.add(classroomSet); // rests on y = 0, front faces +Z
// 'teacher_chair' pivots on its hinge: -30° to 30° around y
classroomSet.getObjectByName('teacher_chair').rotation.y = THREE.MathUtils.degToRad(-30);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/classroom-set.mjs';
export function ClassroomSet() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import classroom-set.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$ClassroomSet/teacher_chair.rotation_degrees.y = -30// Import classroom-set.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("teacher_chair").localEulerAngles = new Vector3(/* y: */ -30, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "classroom-set", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
rows | range | 2 to 5, step 1 | 3 | Rows of pupil desks from the board to the back, 2 to 5 (1.2 m apart). |
columns | range | 2 to 5, step 1 | 4 | Desks per row, 2 to 5, with 60 cm aisles between them. Rows x columns is the class size. |
board | choice | white chalk | white | white (whiteboard with coloured marker diagrams and a marker tray) or chalk (dark green chalkboard in a wooden frame with chalk marks). |
color | choice | wood blue green orange | blue | Colour of the pupil chairs and the teacher chair: wood (beech plywood), blue, green or orange plastic. |
wall | toggle | on / off | true | A 2.7 m wall section behind the board with a skirting board and a clock. Off puts the board on a mobile stand with castors. |
Presets: maths lesson {"rows":3,"columns":4,"board":"white","color":"blue","wall":true} · old schoolhouse {"rows":4,"columns":3,"board":"chalk","color":"wood","wall":true} · exam hall {"rows":5,"columns":5,"board":"white","color":"green","wall":false}
Files
| File | What |
|---|---|
| classroom-set.glb | GLB, default look · 473 KB |
| classroom-set.mjs | ES module, every knob live |
| classroom-set.obj | OBJ, static, no colour |
| classroom-set-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.