유리에 맺힌 물방울 안에서 배경이 확대되어 보이고 방울이 합쳐져 아래로 흐르는 창문Background appears magnified inside drops on the glass as drops merge and run down.
방울 80개가 반경 3~14px로 맺혀 있다가 큰 방울이 초속 15~80px로 흘러내리며 작은 방울을 합치고 배경이 굴절된다
방울 굴절이 0.08UV를 넘어 배경이 알아볼 수 없거나, 모든 방울이 같은 속도로 흘러 자연스럽지 않다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 방울 수 | 80 | 40~150 | 시드 고정 |
| 반경 | 3~14px | 2~18 | 1920px 기준 |
| 흘러내림 | 15~80px/s | 10~120 | 크기에 비례 |
| 굴절 | 0.03UV | 0.02~0.05 | 방울 렌즈 세기 |
| 지속 | 6s | 4~10s | 재생 |
// 방울 상태를 사전 시뮬레이션해 프레임 표로 저장(합체 포함)
const frames = simDrops(seed = 12, { n: 80, r: [3, 14], v: [15, 80], dt: 1/60, steps: 360 });
const u = { k: 0 };
tl.to(u, { k: 359, duration: 6, ease: 'none', onUpdate: () => draw(frames[Math.round(u.k)]) }, 0);
// GLSL: 방울 안 uv = center + (uv - center) * (1.0 - 0.03/r*...) 로 굴절, 배경은 뒤집혀 축소된 상그대로 붙여 넣는다Paste as is
<대상> 배경 이미지에 빗방울 유리 효과를 넣어줘. 시드 12로 방울 80개를 반경 3~14px로 배치하고, 반경이 큰 방울일수록 초속 15~80px로 흘러내리며 지나가는 작은 방울을 합치게 사전 시뮬레이션해. 방울 안에서는 배경이 굴절 0.03UV로 확대·반전되어 보이고 방울 바깥은 살짝 흐리게(blur 2px) 해. 6초 재생.
Add a raindrop glass effect to the background image in <target>. Presimulate 80 drops from seed 12 with radius 3 to 14px, where larger drops run down at 15 to 80px per second and absorb small drops they pass. Inside each drop the background is refracted and inverted at 0.03UV; outside it is slightly blurred (2px). Play 6 seconds.
<파일>에 방울 시뮬레이션을 추가해. 시드 12, 방울 80, 반경 3~14, 속도 15+65*((r-3)/11), 합체는 반경 면적 합, dt=1/60, 360프레임을 frames[]에 저장. 셰이더는 방울 배열로 법선 렌즈를 만들어 굴절 0.03UV 샘플링. 1초·3초·6초 캡처로 방울이 흘러내리며 합쳐지고 배경이 방울 안에서 굴절되는지 확인해.
Add a droplet simulation to <file>. Seed 12, 80 drops, radius 3 to 14, speed 15+65*((r-3)/11), merge by area sum, dt=1/60, 360 frames stored in frames[]. The shader builds a lens normal field from the drop array and samples with 0.03UV refraction. Capture 1 s, 3 s and 6 s to confirm drops run down and merge with refracted background inside them.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo