많은 작은 입자와 잔상이 보이지 않는 흐름을 따라 곡선으로 이동하는 효과Many small particles and trails move along curves following an invisible flow.
입자 600개가 8초 동안 노이즈 흐름을 따라 곡선을 그리며 alpha 0.08의 잔상이 쌓여 흐름이 드러난다
입자 수를 5000개로 늘려 화면이 하얗게 차거나, 매 실행마다 시드가 달라 결과가 다르다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 지속 | 8000ms | 5000~12000ms | 흐름 누적 |
| 입자 수 | 600개 | 300~1200개 | 시드 고정 |
| noise scale | 0.004 | 0.002~0.008 | 작을수록 큰 곡선 |
| 잔상 alpha | 0.08 | 0.04~0.12 | 배경 페이드 |
| 속도 | 90px/s | 60~140px/s | 고정 스텝 |
// 사전 계산: 고정 dt로 궤적 저장 후 시간 t까지 그린다
const traj=P.map(p=>{const pts=[];for(let s=0;s<480;s++){const a=noise(p.x*.004,p.y*.004)*12.566;p.x+=Math.cos(a)*1.5;p.y+=Math.sin(a)*1.5;pts.push([p.x,p.y]);}return pts;});
function draw(k){ctx.clearRect(0,0,1920,1080);traj.forEach(t=>{ctx.beginPath();t.slice(0,k).forEach(([x,y],i)=>i?ctx.lineTo(x,y):ctx.moveTo(x,y));ctx.stroke();});}그대로 붙여 넣는다Paste as is
<배경>에 흐름장을 만들어줘. canvas에서 입자 600개(시드 고정)를 노이즈 scale 0.004의 벡터장을 따라 480스텝 사전 계산해 궤적 배열로 저장하고, 8초 동안 진행값 k만큼 그려. 선은 흰색 alpha 0.35, 잔상 표현은 궤적 뒷부분을 alpha 0.08로 페이드. 상태 누적 없이 progress 순수 함수로 그려서 seek 가능하게 해.
Build a flow field background for <target>. On a canvas, precompute 480 steps of trajectories for 600 seeded particles along a noise vector field with scale 0.004, and draw them up to step k over 8s. Lines are white at alpha 0.35 with the trailing part fading to alpha 0.08. No state accumulation; draw as a pure function of progress so it is seekable.
<파일>에 flow-field 캔버스를 구현해. 입자 600개, noise scale 0.004, 8000ms, 480스텝 사전 계산, seed 고정. 0초, 4초, 8초를 캡처해 궤적이 늘어나며 곡선 흐름이 드러나는지, 같은 시점 재렌더가 동일한지, 화면이 하얗게 포화되지 않는지 확인해.
Implement a flow-field canvas in <file>: 600 particles, noise scale 0.004, 8000ms, 480 precomputed steps, fixed seed. Capture at 0s, 4s, and 8s to verify trajectories lengthen and curved flow emerges, re-rendering the same time is identical, and the frame does not saturate to white.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo
claude-skill:music-to-video/references/motion-primitive-catalog.md#bg-flow-field)unknownclaude-skill:music-to-video/references/motion-primitives/bg-flow-field/scene.html)unknownclaude-skill:music-to-video/references/motion-primitives/bg-flow-field/index.html)unknownclaude-skill:music-to-video/references/template-catalog.md#held-message-living-field)unknownclaude-skill:synced/39cd27d1-5d54-43b6-b557-65596e75bccb_30aab8dd-6815-4962-a41b-a684567e027b/algorithmic-art/SKILL.md)Apache-2.0