
Aurora Borealis
Background3DSeamless loop12 seconds
A storm at night over the sea: forked lightning lighting the clouds, rain slanting through the flashes and a lighthouse beam turning in the dark. Loops perfectly.
In Light, glass & shine, Nature & weather, Spooky & Halloween
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
The slant of the rain: negative leans the other way.
Changes when and where the lightning strikes, the shape of its forks and the clouds.
The preview runs the same code your AI receives. These settings travel with the hand-off.
Banks of cloud that glow from inside when lightning strikes, forked bolts that grow down in a stepped leader and flash in a bright return stroke with two flickering re-strikes, sheets of light in the cloud and crawling discharges across it, rain slanting through the light, a dark heaving sea that catches every flash in a column of glitter, and, on the coast, a striped lighthouse turning its beam through the rain (or, out at sea, a small ship riding the swell). Choose the scenery, how many flashes there are in the loop, how hard it rains, how heavy the cloud is, how bright the lightning is and its colour (cold white, violet, amber or green), and the wind.
src/thunderstorm.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses the demo harness only for the demo.
src/thunderstorm.jscreateThunderstorm({ scenery?, strikes?, rain?, clouds?, brightness?, tint?, wind?, seed?, aspect?, loopSeconds? }) => { scene, camera, events, setSize(width, height), update(time, loopSeconds), dispose() }createBloomPass(renderer, { width, height, glow?, exposure?, grain? }) => { render(scene, camera, output?), dispose() }planStorm({ strikes?, seed?, loopSeconds?, scenery?, aspect? }) => [{ kind, t0, xTop, yTop, xG, yG, segments }]TINTS: { storm, violet, amber, green }three@0.185.1 (source) — Renderer, instanced bolts and the bloom targets.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: Orthographic: x from -aspect to aspect, y from -1 to 1; the horizon sits at y = -0.28 and the clouds fill the sky above it.
Lighting: Self-lit: each flash lights the clouds, rain, sea and coast in the colour of the lightning by its distance to the channel; the beam of the lighthouse lights the rain and the cloud.
Timing: update(time, loopSeconds) sets the time; each flash is a closed-form function of the seconds since it began, so frames render in any order.
npm install
npm run render -- thunderstorm/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:c4acf95552a8cf2d…
Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop10 seconds

Background3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

Background3DSeamless loopPortrait8 seconds

Background3DSeamless loopPortrait8 seconds