Labs / Lost Marbles
Three.js Generative Creative Coding

Lost Marbles

Live Exp 003 2026

220 spheres dropped from height into a constrained space. Three materials: red ring stripe on dark glass, gunmetal chrome, black-and-white vertical stripe. All procedural — no external textures.

Instanced rendering across three InstancedMesh objects. XZ-only repulsion physics run over 20 iterations per reset to resolve overlaps before the drop, keeping all marbles at floor level and all three types visible.

Gravity at −22 m/s², absorptive bounce dampening at 0.35, angular velocity assigned on first impact. Click to reset and drop again.

Three.js InstancedMesh Procedural Textures Canvas 2D API Kinetic Physics XZ Repulsion Seeded Randomness Angular Velocity
Run it Launch →
Three.js · InstancedMesh · Procedural