
Hologram
3D object3DSeamless loop12 seconds
A plasma globe: filaments of electric light writhe from a white-hot core and gather to a finger on the glass. Loops perfectly.
In Space & cosmos, Light, glass & shine, Craft & heritage
Next: HologramSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
Changes the paths the filaments take.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A plasma globe on a black glossy base in a dark room: a white-hot electrode at its heart, filaments of violet light that writhe from it to the glass and jump to new paths several times a second, a bright tip where each one meets the glass, a haze that fills the sphere, and a glow that spills over the base and the table. Part-way through, a finger touches the glass and the filaments reach for the spot, then let go again. Choose the colour (violet and pink, cyan and blue, rose and amber, green and aqua), the number of filaments, the strength of the glow, whether a finger touches it, and the room.
src/plasma-ball.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/plasma-ball.jscreatePlasmaBall({ color?, filaments?, seed? }) => { group, sphere, height, uniforms, update(time, loopSeconds, camera?, { touch?, point? }), dispose() }createBloomPass(renderer, { width, height, glow?, exposure?, grain? }) => { render(scene, camera, output?), dispose() }PALETTES: { violet, cyan, rose, green }three@0.185.1 (source) — Renderer, geometry and the ribbon, tip and haze shaders.chrome-material@1.1.0 (demo) — Studio environment light, backdrop and contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. The sphere has a radius of 2 and is centred 2.75 above the table; the base is 3.6 across.
Lighting: Physical glossy base and a reflection-only glass layer: needs scene.environment. Add a point light in the glow colour near the base to wash it and the table.
Timing: update(time, loopSeconds) is a pure function of time; frames render in any order.
npm install
npm run render -- plasma-ball/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:c60a3add2d9cd2ec…
3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

Effect2DSeamless loop6 seconds

Background3DSeamless loop14 seconds