Создаем эффект инерционного отскока (прыжка).

Данное выражение можно применять для любых параметров (Position, Scale, Opacity, Rotation, Anchor Point). Или даже в свойства эффектов.

Выражение:

amp = .1; //амплитуда
freq = 5; //частота колебаний
decay = 7; //распад

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){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{
value;
}

Немного видоизменен для удобства (в данном выражении делится значение амплитуды для удобства ввода, по анимации оба выражения одинаковы):

amp = 10; //амплитуда
freq = 5; //частота колебаний
decay = 7; //распад
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){v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + (v/100)*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);}else{value;
}

Похожие