drag to orbit
Prop · Still
Sofa
A modular sofa with box cushions and two throw pillows: 1 seat is an armchair, 2 a loveseat, 3-4 a full sofa, and the corner toggle adds a chaise to make an L-shape. Seat height 45 cm.
- Size
- 2.3 × 0.91 × 0.95 m
- Triangles
- 672
- Kit
- Interiors
Tune it
4 knobs: Seats, Corner, Fabric, Legs.
Specs
- Size
- 2.3 × 0.91 × 0.95 m width × height × depth
- Triangles
- 672 of 6,000
- Draw calls
- 1 one vertex-colour material
- Knobs
- 4 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/sofa.mjs';
const sofa = createAsset();
scene.add(sofa); // rests on y = 0, front faces +Zimport { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/sofa.mjs';
export function Sofa() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import sofa.glb (download below). It is a static mesh, one material per colour.
add_child(preload("res://sofa.glb").instantiate())// Import sofa.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": "sofa", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
seats | range | 1 to 4, step 1 | 3 | Seat cushions across the back, 1 to 4. 1 is an armchair, 2 a loveseat, 3 a standard sofa (about 2.2 m), 4 a long family sofa. |
corner | toggle | on / off | false | Adds a chaise on the right that runs forward, turning it into an L-shaped corner sofa. |
fabric | choice | oatmeal slate forest mustard rust navy | oatmeal | Upholstery colour: oatmeal (warm beige), slate (cool grey), forest (green), mustard, rust (terracotta) or navy. Throw pillows take a matching accent. |
legs | choice | wood metal plinth | wood | wood (tapered mid-century oak legs), metal (slim black steel), plinth (a recessed dark base, sofa looks like it floats low). |
Presets: mid-century loveseat {"seats":2,"fabric":"mustard","legs":"wood"} · family corner sofa {"seats":3,"corner":true,"fabric":"slate","legs":"plinth"} · reading armchair {"seats":1,"fabric":"forest","legs":"wood"}
Files
| File | What |
|---|---|
| sofa.glb | GLB, default look · 82 KB |
| sofa.mjs | ES module, every knob live |
| sofa.obj | OBJ, static, no colour |
| sofa-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.