
Jelly Cube
3D object3DSeamless loop10 seconds
Bouncy, jelly-like motion: things crouch, jump, stretch and land with a squash and wobble, shown on three glossy balls.
In Food & sweets, Toys, games & parties
Next: Jelly CubeSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
Lower numbers wobble longer after landing.
The preview runs the same code your AI receives. These settings travel with the hand-off.
The classic cartoon animation principles as ready-made motion: anything can hop, stretch as it flies, squash when it lands and wobble back into shape. There is also an exact spring (for overshoot-and-settle moves like a pop-in) and a squash helper that keeps the shape's volume believable. Use it to make logos, icons, characters or buttons feel playful.
src/spring-motion.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/spring-motion.jsspring(t, { from?, to?, velocity?, stiffness?, damping?, mass? }) => numbersquashStretch(stretch) => [scaleX, scaleY]hop(time, { period?, height?, squash?, airtime?, wobble?, offset? }) => { y, scaleX, scaleY, phase, inAir }cyclePhase(progress, cycles?) => numberapw-runtime@1.0.0 (demo) — Demo harness and colour helpers. src/spring-motion.js has no dependencies.Coordinates: y is height above the ground in your units. Scale around the object's bottom centre so it squashes onto the floor.
Lighting: None.
Timing: Closed-form math: no state, frames can be computed in any order.
npm install
npm run render -- spring-motion/1.1.0 --out my-video.mp4Needs Node 18+, ffmpeg and Chrome/Chromium. Add --params my-settings.json (from Copy settings) for your own settings.sha256:6f156d4a1c7e533b… · other versions: 1.0.0
3D object3DSeamless loop10 seconds

3D object3DSeamless loop16 seconds

Full example3DReal physics8 seconds

PhysicsAny rendererReal physics8 seconds

PhysicsAny rendererReal physics8 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds