Выражения (Expression)

Выражение — это небольшой фрагмент кода jаvascript. Его можно подключить
к анимированным свойствам в проектах After Effects

» »

Выражение отскок

3 995

Начнём с того, что рассмотрим, как добавить выражение к параметру. На панели слоёв нужно открыть параметр, к которому вы хотите добавить выражение.
С зажатой клавишей Alt кликнуть на иконку таймера слева от параметра, откроется текстовое поле, в которое и вставляем выражение. Если в выражении есть ошибки, программа выведет информационный блок и сообщит вам об этом.


Выражение отскок или скачок, как вам удобно. Поможет вам сделать имитацию отскока объекта. Примерное поведение, как мяч, который скачет от пола.

В пример ниже к параметру Position (позиция) добавлено выражение:

Отскоком по инерции, это выражение использует анимацию ключевых кадров слоя для создания естественно выглядящего перелета. Оно создает отскок любого параметра между ключевыми кадрами на основе его скорости. Отскок происходит в том направлении, в котором движется объект.Для создания этой анимации добавьте ключевые кадры в свойство «Position» слоя, к которому необходимо добавить анимацию


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

Наличие ключевых кадров обязательно. Расстояние между ключевыми кадрами напрямую будут влиять на силу отскока, чем ближе ключи находятся друг от друга, тем сильней будет отскок.

Данное выражение можно применить ко всем основным параметрам. Position, Rotation, Scale, Opacity