격자 제어점이 움직여 평면 이미지 전체가 천처럼 휘고 출렁이는 변형Grid control points move so the whole flat image bends like cloth.
6x6 격자의 제어점이 최대 24px 변위로 900ms에 물결치듯 움직이며 텍스처가 함께 휜다
변위가 커서 격자 셀이 뒤집히거나 텍스처가 찢어진다. 모든 제어점이 같은 위상이라 그냥 이동한 것처럼 보인다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 시간 | 0.9s | 0.6~1.4s | 왕복 |
| 격자 | 6x6 | 4x4~10x10 | 제어점 수 |
| 변위 | 24px | 12~40px | 최대 |
| 위상차 | 0.3rad | 0.2~0.6rad | 제어점별 |
| 이징 | sine.inOut | sine~power2 |
const o = { t: 0 }; // 0..1
const disp = (i, j, t) => ({ x: Math.sin(t * Math.PI * 2 + (i + j) * 0.3) * 24 * Math.sin(t * Math.PI), y: Math.cos(t * Math.PI * 2 + (i - j) * 0.3) * 24 * Math.sin(t * Math.PI) });
tl.to(o, { t: 1, duration: 0.9, ease: 'sine.inOut', onUpdate: () => applyGrid(disp, o.t) }, 0.3);
// sin(t*PI) 가중치로 시작과 끝에서 변위가 정확히 0그대로 붙여 넣는다Paste as is
WebGL과 GSAP으로 <이미지>에 6x6 메시 워프를 넣어줘. 제어점마다 위상차 0.3rad로 x, y를 최대 24px 물결치게 움직이고 변위에 sin(t*PI) 가중치를 곱해 시작과 끝에서 정확히 0으로 돌아오게 해. 0.3초부터 0.9초 동안 sine.inOut으로 t를 0에서 1까지 tween하고 텍스처가 함께 휘게 해. paused 타임라인으로 seek 가능하게 만들어.
Use WebGL and GSAP to add a 6x6 mesh warp to <image>. Move each control point in a wave with a 0.3 rad phase step, up to 24px in x and y, and multiply displacement by sin(t*PI) so it returns exactly to 0 at start and end. Tween t from 0 to 1 starting at 0.3 seconds over 0.9 seconds with sine.inOut, and warp the texture with it. Paused, seekable timeline.
<파일>에 mesh-warp를 적용해. disp(i,j,t)=sin(2πt+(i+j)*0.3)*24*sin(πt)를 x에, cos 항을 y에 적용하고 tween 객체 t를 position 0.3, duration 0.9, ease sine.inOut으로 0→1, onUpdate에서 applyGrid를 호출한다. 0.3초는 원본과 동일, 0.75초는 최대 변위이며 셀이 뒤집히지 않는지, 1.3초는 원본과 픽셀 차이 0인지 캡처로 확인해.
Apply mesh-warp in <file>. Use disp(i,j,t)=sin(2*PI*t+(i+j)*0.3)*24*sin(PI*t) for x and a cos term for y; tween object t 0 to 1 at position 0.3, duration 0.9, ease sine.inOut and call applyGrid in onUpdate. Capture 0.3s (identical to the source), 0.75s (maximum displacement, no flipped cells) and 1.3s (zero pixel diff against the source).
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo