입자들이 중심을 향해 또는 밖으로 나선을 그리며 흐르는 소용돌이Particles spiral toward or away from a center in a vortex.
입자 200개가 반경 200px에서 시작해 6초 동안 각속도 0.4rad/s로 돌며 중심으로 모여 로고가 나타난다
입자 수천 개가 밝게 겹쳐 흰 덩어리가 되거나, 회전이 빨라 소용돌이가 아닌 원형 잔상처럼 보인다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 지속 | 6s | 4~8s | 입자가 중심에 닿는 시간 |
| 입자 수 | 200 | 120~350 | 시드 배열로 고정 |
| 각속도 | 0.4rad/s | 0.25~0.7 | 안쪽일수록 빠르게 |
| 시작 반경 | 200px | 150~320px | 1920px 기준 |
| 입자 크기 | 2.5px | 1.5~4px | 중심 근처 60%로 축소 |
const P = Array.from({ length: 200 }, (_, i) => ({ a: (i * 137.508) % 360 * Math.PI / 180, r: 60 + (i * 37 % 140) }));
const u = { k: 0 };
tl.to(u, { k: 1, duration: 6, ease: 'power2.in', onUpdate() {
P.forEach(p => { const r = p.r * (1 - u.k), a = p.a + u.k * 0.4 * 6 * (1 + 60 / (r + 30)); draw(cx + Math.cos(a) * r, cy + Math.sin(a) * r); });
} }, 0);그대로 붙여 넣는다Paste as is
<대상> 중앙에 입자 소용돌이를 넣어줘. 입자 200개를 황금각으로 배치하고 반경 200px 바깥에서 시작해 6초 동안 power2.in으로 중심에 모이게 해. 각속도는 0.4rad/s이고 안쪽일수록 빠르게 돌며, 입자 크기는 2.5px에서 중심 근처 1.5px로 줄여. 마지막 0.5초에 로고가 페이드인하게 해.
Add a particle vortex at the center of <target>. Place 200 particles by golden angle starting outside a 200px radius and gather them to the center over 6 seconds with power2.in. Angular speed 0.4 rad/s, faster near the center, particle size shrinking from 2.5px to 1.5px near the core. Fade the logo in during the last 0.5 seconds.
<파일>의 캔버스에 입자 200개 배열을 만들어. 각도 a=(i*137.508)deg, 반경 r=60+(i*37%140), 진행값 k를 6초 power2.in으로 0에서 1로 tween하고 매 프레임 r*(1-k), a+k*0.4*6*(1+60/(r+30))에 그려. Math.random 금지. 1.5초·3초·5.5초를 캡처해 입자가 나선으로 모이고 중심이 하얗게 타지 않는지 확인해.
In the canvas of <file>, build 200 particles with angle a=(i*137.508) deg and radius r=60+(i*37%140). Tween a progress k from 0 to 1 over 6 s with power2.in and draw each at radius r*(1-k), angle a+k*0.4*6*(1+60/(r+30)). No Math.random. Capture 1.5 s, 3 s and 5.5 s to check particles spiral inward and the core does not blow out to white.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo