부드러운 덩어리가 위로 올라가며 커지고 서로 겹쳐 옅어지는 연기Soft blobs rise, grow, overlap and thin out into smoke.
초당 20개 회색 원이 초속 25px로 오르며 12px에서 70px로 커지고 2.6초 동안 불투명도 0.25에서 0으로 옅어진다
입자 수가 많고 불투명해 검은 덩어리가 되거나 크기 변화가 없어 점이 떠오르는 것처럼 보인다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 생성률 | 20개/s | 12~35 | 출생 고정 배열 |
| 상승 속도 | 25px/s | 15~40 | 위쪽 |
| 크기 | 12 to 70px | 8~90px | 나이에 비례 |
| 수명 | 2600ms | 1800~3500ms | 불투명도 감쇠 |
| 바람 | 14px/s | 0~30 | 옆으로 흘림 |
const u = { t: 0 };
tl.to(u, { t: 5, duration: 5, ease: 'none', onUpdate() {
for (let i = 0; i < 100; i++) { const age = u.t - i / 20; if (age < 0 || age > 2.6) continue; const k = age / 2.6;
puff(960 + 14 * age + Math.sin(i * 2.3) * 10, 900 - 25 * age, 12 + 58 * k, 0.25 * (1 - k) * Math.min(1, age * 4)); } } }, 0);그대로 붙여 넣는다Paste as is
<대상> 위에 연기 확산을 넣어줘. 기준점 (960,900)에서 초당 20개의 회색(#9aa3b2) 원이 초속 25px로 오르고 옆으로 초속 14px 흘러. 크기는 12px에서 70px으로 커지고 불투명도는 0.25에서 0으로 2.6초 동안 옅어지며 시작 0.25초에 서서히 나타나게 해. 5초 재생이고 워밍업으로 2초 진행된 상태에서 시작해.
Add a smoke plume above <target>. From the anchor (960,900), 20 gray (#9aa3b2) circles per second rise at 25px per second and drift sideways at 14px per second. Size grows from 12px to 70px and opacity fades from 0.25 to 0 over 2.6 seconds, fading in over the first 0.25 seconds. Play 5 seconds, starting 2 seconds pre-warmed.
<파일>의 캔버스에 입자 100개를 만들어. age=t-i/20이 0~2.6일 때 x=960+14*age+sin(i*2.3)*10, y=900-25*age, 반지름 12+58k, 알파 0.25*(1-k)*min(1,age*4). 방사형 그라디언트 스프라이트를 재사용. 0.5초·2초·4.5초 캡처로 위로 갈수록 커지고 옅어지며 검은 덩어리가 없는지 확인해.
In the canvas of <file>, create 100 particles. With age=t-i/20 in 0 to 2.6: x=960+14*age+sin(i*2.3)*10, y=900-25*age, radius 12+58k, alpha 0.25*(1-k)*min(1,age*4). Reuse one radial-gradient sprite. Capture 0.5 s, 2 s and 4.5 s to confirm puffs grow and thin as they rise and never clump into a black mass.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo