FREEcommercial use · no sign-up

Self-playing organ

A chamber-sized haunted pipe organ in flat low-poly style: a dark-wood console whose keys press themselves to a ghost melody, a pinned barrel turning in the window under the impost, wedge bellows breathing on both flanks and candle sconces swaying on the towers. Built for the Haunted Mansion kit.

Self-playing organ 3D model
This model carries a baked animation clip.

Left rail: colours and the 5 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
2,224
Vertices
6,012
Meshes · materials
79 · 79
Size (W × H × D)
1.8 m × 2.7 m × 1.1 m
File
GLB · 361 KB
Animation
scene-motion · 8.0s
Collection
Haunted Mansion

Palette · named materials

  • wood#3d2a1c
  • pipe#e4ddcd
  • pale#c9ba9c
  • soot#1b1b22
  • leather#81688d
  • lining#584861
  • flame#ec9c13
  • wax#f2ede2
  • iron#7d828c
  • moss#55743e

Use it

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/haunted-mansion-self-playing-organ/27680092a4/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:

Self-playing organ for the Haunted Mansion 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 Haunted Mansion kit (Low-poly style, flat-lowpoly direction): A decaying house that watches back. Use ONLY the kit palette, by name: faded purple #81688d, bone #e4ddcd, moss #55743e, candle amber #ec9c13, faded purple dark #584861, bone dark #c9ba9c, faded purple light #a497aa, bone light #f9f8f5, 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 `decayLevel` (0–1, default 0.5) for the kit's "Decay level" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Fable 5.1 in 1DesignTool
  • Generation: 4.59M tokens (93% cached) · ≈ $10.38 at API prices · 5-hour plan +11%, weekly plan +2%
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 27

  • Self-playing organ
  • Plinth
  • Lower chest
  • Keybed
  • Keys (w01-w14 white, b01-b10 black)
  • Nameboard
  • Upper case
  • Back panel
  • Chamber lining
  • Barrel axle
  • Left tower
  • Right tower
  • Impost shelf
  • Cornice
  • Gable
  • Pipe rank (p01-p09)
  • Pinned barrel
  • Left bellows
  • Left bellows leaf (pleat1-3 fan beneath)
  • Right bellows
  • Right bellows leaf (pleat1-3 fan beneath)
  • Left candle
  • Left flame
  • Right candle
  • Right flame
  • Inlay panels
  • Moss

Note: Real-world chamber-organ scale: 2.72 m tall, 1.62 m wide at the cornice (1.5 m case, bellows reach ~1.9 m when open), 1.05 m deep; metres, +Y up, origin at bottom centre on y = 0, keyboard faces +Z. Part ids use the short root 'organ' (the kit's plan checker rejects hyphens in ids) and travel in each node's extras.partId. Baked clip 'scene-motion' (8 s, seamless, 35 moving nodes): keys rotate about their rear hinge line to a seeded 16-step melody, the barrel and its pins turn one revolution about the X axle, the two bellows leaves and their three pleats each fan about the bottom hinge pin in alternation (two breaths per loop), the flames sway from the wick base; plinth, chest, towers, pipes, cornice and gable never move. The GLB's static rest pose is the t = 2 s frame of the loop. decayLevel 0-1: 0 removes all moss geometry and all stuck keys; 0.5 (shipped) grows 5 moss clumps, leaves 2 white keys permanently pressed and sags each pipe up to ~3.4° forward/back at its foot; 1.0 gives 10 clumps, 4 stuck keys and up to ~6.9° sag. pipeCount, pipeHeight and caseWidth rebuild the rank, case height and keybed; bellowsStroke sets the breath angle. All 10 materials are flat-shaded, metalness 0, roughness 0.9-1.0, no textures, and named exactly after kit palette colours; the runtime exporter writes one material instance per mesh, so the GLB carries 79 copies of those 10 names (dedupe by name on import if needed). glb-lint reported 0 errors (its verdict string is UNVERIFIED only because no requirements contract was supplied); its 6 warnings are benign: non-indexed primitives are the deliberate flat facets, the nameboard/inlay and moss/inlay overlaps are inset panels and moss growing over them, the 'detached' keys rest on the keybed within the linter's box tolerance, and the 2.72 m height is intended real-world scale.

Free under the 1DesignTool 3D library license. Model #2 of 485.