[사용법]
대입: Scale, Rotation, Position
사용법: 본 익스프레션을 애니메이션이 걸려진 스케일, 포지션, 로테이션 값에 대입할 수 있다.
애니메이션의 시작과 정지 시 부드럽게 시작하고 멈출 수 있다.
값이 조정은 초록색부분을 재설정하면 좀 더 다른 분위기의 연출이 가능하다.
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}
}
if (n == 0){
t = 0;
}else{
t = time - key(n).time;
}
if (n > 0 && t < 1){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
amp = .05;
freq = 4.0;
decay = 8.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}
----------------------{하단] 포지션값에 대입하는 익스프레션으로 아웃점에서 통통튀는 효과를 줄 수 있다------------
e = .7;
g = 5000;
nMax = 9;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
v = -velocityAtTime(key(n).time - .001)*e;
vl = length(v);
if (value instanceof Array){
vu = (vl > 0) ? normalize(v) : [0,0,0];
}else{
vu = (v < 0) ? -1 : 1;
}
tCur = 0;
segDur = 2*vl/g;
tNext = segDur;
nb = 1; // number of bounces
while (tNext < t && nb <= nMax){
vl *= e;
segDur *= e;
tCur = tNext;
tNext += segDur;
nb++
}
if(nb <= nMax){
delta = t - tCur;
value + vu*delta*(vl - g*delta/2);
}else{
value
}
}else
value
[익스프레션값] https://docs.google.com/document/d/12ymsMLNA0oiIZc8_iXS9zuEMUH1NGV1zbvwnHkm21DM/edit
'----------------- > AE EXPRESSION' 카테고리의 다른 글
[익스프레션4] 바의 위치에 따라 글자의 크기와 투명도 낮아짐 (0) | 2018.08.31 |
---|---|
[익스프레션3] sourceRectAtTime (텍스트에 Bar크기 맞추기) (0) | 2018.08.31 |
[익스프레션2] Auto fadeIn+fadeOut(오토 페이드 인) (0) | 2018.08.31 |