Skip to content

Kinetic Sand Slice

A block of coloured kinetic sand is sliced by a steel scraper, and each slice topples onto a belt with its hidden pattern face up, looping forever.

Effect, V1 Effects3DSeamless loop, verified469 lines of codev1.0.0

In Liquids

Next: Torus Wave LoopSurprise me

Kinetic Sand Slice preview
Starting live preview…
00:00:00:00 / 00:00:00:01

Live, running the real source at reduced resolution.

Your current settings go with it. Combine several clips and hand them over together from your sequence.

Effect controls

Presets

What each cut reveals.

Layers: bottom band. Heart: the sand around it. Swirl: first colour.

Layers: second band. Heart: the heart. Swirl: second colour.

Layers: third band. Heart: its outline. Swirl: third colour.

Layers: top band (not used by heart or swirl).

0.22

As a fraction of the block's height.

3

More cuts make a faster rhythm in the same loop.

26

How many crumbs break off when a slice lands.

1

0 is smooth like soap, 2 is coarse.

7

Changes the crumbs, the grain and the wobble of the layers.

The preview runs the same code your AI receives. These settings travel with the hand-off.

Info

What it is

The AI ASMR sand-cutting shot, built in code. A long block of soft, grainy kinetic sand nudges forward, a broad steel bench scraper presses down through it, and the slice leans off the blade and flops over onto a slow belt with a little squash and a scatter of crumbs. The cut face shows what is inside the block: pastel layers, a hidden heart or a marbled swirl. Choose the pattern and its four colours, how thick the slices are, how many cuts fit in the loop, how much it crumbles and how coarse the grain looks. The clip loops exactly.

Reuse it in your own idea

  • Put a caption or a Lower Third over it for a faceless ASMR Short, and add your own crunch sounds on each cut (the blade bottoms out at 64% of each cycle).
  • Paint your logo or brand colours into createSandPattern (it is a canvas) and every slice reveals it.
  • Use sliceTimeline to drive your own models: a cake, a soap bar or a glass fruit with the same feed, press and topple timing.

Which part is reusable

src/kinetic-sand-slice.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses chrome-material only for the demo.

Good to know

  • No sound: the ASMR crunch is most of the appeal, so add it in your editor.
  • The pattern runs the full length of the block, so every slice reveals the same picture; it is a reveal, not a changing sequence.
  • The blade cuts cleanly through rigid pieces. There is no smearing, bulging or tearing of the sand where the blade goes in.

Technical details

Technical details
Implementation
Three.js 0.185.1 (WebGL) · ES module src/kinetic-sand-slice.js
Exports
  • createKineticSandSlicer({ pattern?, colors?, thickness?, depth?, cycleSeconds?, cutsPerLoop?, crumbs?, grain?, seed?, boardColor?, beltColor?, handleColor?, showBelt? }) => { group, update(time), timeline, landingX, baseY, beltStep, dispose() }
  • createSandPattern({ pattern?, colors?, seed?, size? }) => HTMLCanvasElement
  • sliceTimeline({ cycleSeconds, thickness, gravity? }) => (phase) => { feed, blade, angle, squash, landed, sinceLanding, landPhase }
Dependencies (exact)
  • three@0.185.1 (source) — WebGL rendering (src and demo).
  • chrome-material@1.1.0 (demo) — Studio environment, cove and floor for the demo scene. src/kinetic-sand-slice.js only needs three.
  • apw-runtime@1.0.0 (demo) — Demo harness.
How it fits a scene

Coordinates: Y-up; block height 1 unit; board and belt top at y = 0, their underside at baseY (−0.1). The blade cuts in the plane x = 0, the block comes from −x and slices travel along +x one beltStep (1.32) per cut. Centred on z = 0, about 1.8 units deep with the belt.

Lighting: Needs scene.environment (tuned with the chrome-material studio) plus one shadow-casting directional light; meshes cast and receive shadows.

Timing: Pure function of time. One cut every cycleSeconds; set cycleSeconds = clip length / cuts for a seamless loop.

Output
1080×1080, 30 fps, 6 s · procedural (computed from the frame number) · seamless loop — A whole number of identical cuts per clip; the block feeds one slice and the belt moves one slot per cut, and the grain and belt ribs repeat on those distances, so the last frame leads straight into the first.
Tested
Rendered 180 frames on 2026-10-10 in Chrome 154.0.8037.97 headless on Linux 7.0.0-38-generic (x64), Node 22.14.0 (WebGL 2 via SwiftShader (software)). Same frame twice from fresh pages: identical. Loop: Frame 0 vs end state (progress 1): mean |Δ| 0.0000, max |Δ| 0 of 255.
Performance
About 20 meshes, two instanced meshes and a 2048 shadow map; light for any GPU. The pattern canvas is painted once at start (512 × 512). The slices are rigid boxes: the sand does not deform where the blade enters, and crumbs only fall on the belt.
Export a video yourself
Download the source, then in the folder: npm install npm run render -- kinetic-sand-slice/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.
Version
1.0.0 · sha256:cc1956b34f178189…
Files
License
MIT. Copyright (c) 2026 AI Pixel Wizard. Released under the MIT License. See LICENSE in this folder. License details
Provenance
Original code written for AI Pixel Wizard on 2026-10-08 by an automated agent (the daily trend routine), inspired by the AI ASMR kinetic sand cutting trend (see content/trends/2026-10-08-kinetic-sand-slice.md). The motion (block fed one slice at a time, a bench scraper pressing down, the slice falling over cut face up) follows the shot as described in https://lovino.ai/blog/ai-asmr-videos-trending-2026 ('slabs of colored sand sliced by oversized blades') and https://knowyourmeme.com/memes/kinetic-sand-asmr-videos. The owner's earlier sketch threejs-sketches/objects-scenes/kinetic-sand explored the same subject; it was read for reference and none of its code was used. The falling slice is the standard rigid slab rotating about one edge under gravity. No code, images, models, fonts or shaders were copied.
BinMore like this

Lava Lamp

3D object3DSeamless loop15 seconds