
Rolling-Ball Sculpture
3D object3DSeamless loop12 seconds
A glass-and-brass hourglass: the sand runs, the glass flips, the sand runs again. Loops perfectly.
In Machines & clockwork, Light, glass & shine, Craft & heritage
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
The share of the loop that the glass spends turning, 0.1 to 0.35.
Changes the grain of the sand.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A classic sand glass floating in a dark studio: a glass double-bulb between two turned metal plates on three slender posts. A thin stream of sand runs through the neck, the upper pile sinking into a funnel while the lower one builds a cone at the angle of repose; when it has all run through the glass turns over, the sand slumping from the cone into a funnel on its new top, and it runs again. Choose the sand (any colour), the metal of the frame (brass, copper, chrome or black), a tint in the glass, and how much of the loop is spent turning the glass over.
src/hourglass.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses chrome-material only for the demo.
src/hourglass.jscreateHourglass({ sand?, finish?, tint?, origin?, seed? }) => { group, half, uniforms, update(time, loopSeconds, { flip? }), dispose() }FINISHES: { brass, copper, chrome, black }three@0.185.1 (source) — Renderer, physical glass and metal, and the sand's ray-marching shader.chrome-material@1.1.0 (demo) — Studio environment light, backdrop, floor and contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. The glass is 2.6 tall inside two plates, 3.0 overall, and 1.1 across at its widest.
Lighting: Physical glass and metal: needs scene.environment. The sand is lit in its own shader by a key light (set uniforms.uKey to the real light's direction) and a sky fill.
Timing: update(time, loopSeconds) is a pure function of time; frames render in any order.
npm install
npm run render -- hourglass/1.0.0 --out my-video.mp4Needs Node 18+, ffmpeg and Chrome/Chromium. Add --params my-settings.json (from Copy settings) for your own settings.sha256:06c46e25249807ef…
3D object3DSeamless loop12 seconds

3D object3DSeamless loop20 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds