Swinging chandelier
A low-poly haunted-house candle chandelier with wrought-iron arms, a pewter column and bowl, melting candles, torn cobwebs and moss, hanging on a chain from a ceiling canopy. It carries a seamless 6-second loop of a slow figure-eight swing with flickering flames.

Left rail: colours and the 4 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
- 5,519
- Vertices
- 16,557
- Meshes · materials
- 46 · 46
- Size (W × H × D)
- 93 cm × 1.3 m × 95 cm
- File
- GLB · 561 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Haunted Mansion
Palette · named materials
- base#1b1b22
- body#584861
- trim#81688d
- wax#e4ddcd
- drip#c9ba9c
- accent#ec9c13
- web#f2ede2
- foliage#55743e
- earth#3d2a1c
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-swinging-chandelier/df076a2bc3/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:
Swinging chandelier 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 Opus 5.5 in 1DesignTool
- Generation: 5.07M tokens (95% cached) · ≈ $3.61 at API prices · 5-hour plan +4%, weekly plan +1%
- Direction: Low-poly · family abstract-kinetic
- three-check PASS · glb-lint PASS — 0 blocking errors (tool verdict UNVERIFIED only because no requirements contract was supplied; 5 non-blocking warnings: material-count, duplicate-materials, unindexed, sibling-overlap, detached-parts)
Named parts · 29
- Swinging chandelier
- Ceiling block
- Canopy
- Swing pivot
- Chain
- Body
- Crown
- Column
- Bowl
- Finial drop
- Arm 1
- Candle 1
- Flame 1
- Arm 2
- Candle 2
- Flame 2
- Arm 3
- Candle 3
- Flame 3
- Arm 4
- Candle 4
- Flame 4
- Arm 5
- Candle 5
- Flame 5
- Arm 6
- Candle 6
- Cobwebs
- Moss
Note: Real-world size at default params: 1.273 m tall from the finial tip to the top of the ceiling block, with an arm span of about 0.97 m. This is a hanging fixture. The origin is at the bottom centre, and the finial tip rests on y = 0 in the rest pose. The top face of the dark-wood ceiling block is the ceiling plane, so mount it by placing that face against your ceiling. The canopy and ceiling block never move. The baked clip "scene-motion" (6 s, seamless) rotates the swing node about the canopy hook, twists the body node about the chain swivel, and scales each flame from its wick. Because the pivot is at the top, the swing only lifts the bottom off y = 0 and never lowers it. Part ids use the namespace chandelier.* rather than haunted-mansion-swinging-chandelier.* because the kit plan checker only accepts hyphen-free part ids. decayLevel (the kit's Decay level setting) melts the candles shorter, adds wax drips, snuffs out some flames, droops one arm, and grows cobweb veils and moss. At 0.5, one candle is unlit, so this GLB has 5 flame parts and no flame.6. armCount, chainLength and swingAngle are rebuild params. This GLB is the default build, and its height follows chainLength. Every material name is exactly its kit palette colour. The exporter clones one material per mesh, so the file lists 46 material entries that all carry those 9 palette names, which is the reason for the material-count warning. Geometry is non-indexed with flat face normals so the faceted look survives in engines that ignore flat shading. Flames use a candle-amber emissive. The viewer floor shadow and light rig are staging only and are not in the GLB. Exported model: 5519 triangles.
More like this
All of Haunted Mansion →
Sliding portrait
Haunted Mansion1,904 tris

Self-playing organ
Haunted Mansion2,224 tris

Solar panels
Mars Colony1,832 tris

Gate
Graveyard1,828 tris

Chapel
Graveyard2,160 tris

Mausoleum
Graveyard2,172 tris

Crater and dune tiles
Mars Colony1,374 tris

Crypt entrance
Graveyard2,880 tris
Free under the 1DesignTool 3D library license. Model #3 of 485.