
Physical Lights
3D object3DSeamless loop16 seconds
A clear glass box with real wall thickness, set up so objects inside it look right.
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
Colour the glass picks up through its thickness.
0 is crystal clear; higher is frosted.
1.5 is window glass, 1.33 water, 2.4 diamond.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A see-through glass box (open top by default) made of solid panes with real thickness, and a physically based glass material that bends the light behind it. Glass is easy to get wrong in 3D: this one is configured the way the renderer needs it, so you can drop things inside, pour balls into it, or turn it on a turntable. Its inside measurements line up with the Bouncing Balls simulation by default.
src/glass-container.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses chrome-material only for the demo.
See it combined with other ingredients in Bouncing Marbles in a Box.
src/glass-container.jscreateGlassMaterial({ tint?, roughness?, thickness?, ior?, attenuationDistance? }) => THREE.MeshPhysicalMaterialcreateGlassBox({ width?, height?, depth?, wall?, open?, material? }) => THREE.GroupdisposeGlassBox(group) => voidthree@0.185.1 (source) — WebGL rendering (MeshPhysicalMaterial transmission).chrome-material@1.0.0 (demo) — Demo uses createStudioEnvironment for reflections and a chrome ball. Any environment map works with the glass.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: Y-up. Floor top at y = 0, centred on the origin. Matches Bouncing Balls' default box when width 4, height 3, depth 4.
Lighting: Image-based: set scene.environment (e.g. createStudioEnvironment from Chrome Material). Tone mapping recommended.
Timing: Static object. The demo rotates a turntable group.
npm install
npm run render -- glass-container/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:e49102f806f213e2… · other versions: 1.1.0
3D object3DSeamless loop16 seconds

3D object3DSeamless loop14 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds