동작의 재생 시간에 노이즈를 더해 속도가 불규칙하게 앞뒤로 흔들리는 시간 왜곡Noise is added to a motion's playback time so its speed wobbles back and forth irregularly.
2초 이동 동작의 평가 시간에 80ms 진폭 노이즈를 2Hz로 더해, 등속 이동이 미세하게 멈칫하다 따라잡는다
진폭이 200ms를 넘어 동작이 뒤로 되감기듯 튀거나, 모든 요소에 걸어 화면 전체가 떨린다
기본값은 클립에 쓴 값Defaults are the values used in the clip
| 항목PARAM | 기본DEFAULT | 범위RANGE | 메모NOTE |
|---|---|---|---|
| 시간 진폭 | 80ms | 40~150ms | 평가 시간에 더하는 노이즈 크기 |
| 주파수 | 2Hz | 1~4Hz | 노이즈 변화 속도 |
| 동작 길이 | 2s | 1~4s | 흔들릴 대상 tween |
| 시드 | 11 | 고정 | 노이즈 위상 오프셋 |
const move = gsap.to('.dot', { x: 1200, duration: 2, ease: 'none', paused: true });
const w = (t) => 0.08 * (Math.sin(t * 2 * Math.PI * 2 + 11) * 0.6 + Math.sin(t * 2 * Math.PI * 3.3 + 4) * 0.4);
const u = { t: 0 };
tl.to(u, { t: 2, duration: 2, ease: 'none', onUpdate: () => move.time(Math.min(2, Math.max(0, u.t + w(u.t)))) }, 0);그대로 붙여 넣는다Paste as is
<대상>의 이동 동작에 시간 흔들림을 넣어줘. 2초 등속 이동 tween을 paused로 두고, 평가 시간 t에 진폭 80ms의 두 사인파 합(2Hz와 3.3Hz, 위상 11과 4)을 더해 time(t+w(t))로 재생해. 결과적으로 이동이 미세하게 멈칫하다 따라잡게 하고, 시간이 0~2초 범위를 벗어나지 않게 clamp해.
Add a temporal wiggle to the motion of <target>. Keep the 2-second constant-speed move as a paused tween and play it with time(t + w(t)), where w is a sum of two sine waves (2 Hz and 3.3 Hz, phases 11 and 4) with 80 ms amplitude. The move should hitch slightly and catch up. Clamp time to 0 to 2 seconds.
<파일>의 .dot 이동 tween(x 0→1200, 2초, ease none)을 paused로 바꾸고, 상위 타임라인 onUpdate에서 move.time(clamp(t+w(t),0,2))를 호출해. w(t)=0.08*(0.6*sin(4πt+11)+0.4*sin(6.6πt+4)). Math.random 금지. 0.5초·1.0초·1.5초 캡처의 x좌표가 등속선에서 최대 약 15px 어긋났다 돌아오는지 수치로 확인해.
In <file>, make the .dot move tween (x 0 to 1200, 2 s, ease none) paused, and call move.time(clamp(t+w(t),0,2)) from the parent timeline onUpdate. w(t)=0.08*(0.6*sin(4πt+11)+0.4*sin(6.6πt+4)). No Math.random. Capture at 0.5 s, 1.0 s and 1.5 s and verify numerically that x deviates from the linear path by up to about 15px and returns.
HyperFrames · ReelForge · Scrolline
개념 출처와 라이선스. 구현은 이 레포에서 새로 씀Concept sources and licenses. Implementations are original to this repo