Wiggle Fade Expression
시간이 지남에 따라 흔들림이 점점 커지거나 작아지는 효과입니다.
Preview
시간에 따라 wiggle의 amplitude가 변합니다. 충격 후 잔잔해지거나, 긴장감이 고조되는 장면에 유용합니다.
※ 시각적 이해를 위한 애니메이션으로, 실제 결과와 다를 수 있습니다.
Code
Wiggle Fade In (점점 커지는 흔들림)
javascript
// 시작할 때 잔잔하다가 점점 커지는 흔들림
freq = 5;
maxAmp = 50;
fadeTime = 2; // 최대 강도까지 걸리는 시간(초)
amp = Math.min(time / fadeTime, 1) * maxAmp;
wiggle(freq, amp);Wiggle Fade Out (점점 작아지는 흔들림)
javascript
// 강하게 시작해서 점점 잔잔해지는 흔들림
freq = 5;
startAmp = 50;
decay = 1.0;
amp = startAmp / Math.exp(time * decay);
wiggle(freq, amp);특정 시간 구간에서만 흔들림
javascript
// 1초~3초 사이에만 흔들림
freq = 5;
amp = 50;
startTime = 1;
endTime = 3;
if (time >= startTime && time <= endTime) {
wiggle(freq, amp);
} else {
value;
}Parameters
| 파라미터 | 설명 |
|---|---|
freq | 초당 흔들림 횟수 |
maxAmp / startAmp | 최대 흔들림 크기 |
fadeTime | Fade In에 걸리는 시간 |
decay | Fade Out 감쇠율 |
Examples
천천히 시작되는 흔들림
javascript
freq = 3;
maxAmp = 30;
fadeTime = 5;
amp = Math.min(time / fadeTime, 1) * maxAmp;
wiggle(freq, amp);빠르게 감소하는 흔들림
javascript
freq = 8;
startAmp = 100;
decay = 2.0;
amp = startAmp / Math.exp(time * decay);
wiggle(freq, amp);키프레임 이후 감소하는 흔들림
javascript
// 마지막 키프레임 이후부터 흔들림 감소
freq = 5;
amp = 50;
decay = 1.5;
n = 0;
if (numKeys > 0) {
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0) {
t = time - key(n).time;
currentAmp = amp / Math.exp(t * decay);
wiggle(freq, currentAmp);
} else {
value;
}Tips
사용 사례
- Fade In: 긴장감이 고조되는 장면
- Fade Out: 충격 후 안정되는 장면
- 구간 지정: 특정 이벤트 동안만 흔들림
자연스러운 전환
fadeTime이나 decay 값을 조절하여 급격하거나 부드러운 전환을 만들 수 있습니다.
