Затухающие "Bounce" expressions в AE
Разнообразные "bounce" выражения в After Effects.
Золотое правило: "Чем анимация "натуральней", тем она лучше выглядит в целом." Добится этой "натуральности" (то есть создать условия, для имитации законов физики - отскоков, инцерции и пр.), можно разными путями. Но создавать все это с помощью ключей очень утомительно. В этом нам помогут выражения, и в данной статье рассмотрим выражения "bounce" типа.
Inertial Bounce.
Очень распространенный эффект "отскока", который можно записать в виде выражения:
Где, amp - амплитуда отскока, freq - частота, decay - затухание
Элемент к которому необходимо привязать данный экспрешн,переводим в 3д слой. Затем перемещаем его anchor point в то место, где будет его "центр тяжести", то есть откуда будет идти вращение. В моем случае это самый верх слоя (текст). Также создаем ключи вращения (в моем случае X rotation от 90 до 0) и в этот X rotation дописываем выражение Inertial Bounce. Также можете создать свет (Light) в композиции для еще более натурального вида анимации.
Decay Bounce.
Еще один вид отскока, на этот раз "от земли". Со следующим выражением:
veloc = thisComp.layer("Control Layer").effect("velo control")("Slider");
amplitude = thisComp.layer("Control Layer").effect("amplitude control")("Slider");
decay = thisComp.layer("Control Layer").effect("decay control")("Slider");
y = amplitude*Math.cos(veloc*time)/Math.exp(decay*time);
value + [0,y]
Проблема в том, чтобы использовать данное выражение необходимо создать дополнительный Null Object (или solid слой), назвать его как "Control Layer". Затем применить к ниму 3 фильтра Slider control, и назвать каждый как "velo control", "amplitude control", "decay control". Поставить у них значения -200,-200 и 4, соответственно. Кстати эти значения регулируют скорость (velo), амплитуду (amp) и затухание (decay) отскока. Затем на объект к которому необходимо сделать данный отскок, применяем выражение на параметр Position.
Better Bounce.
Очень простое выражение, которое можно записать в виде:
try {
freq = effect("bounce - frequency")("Slider"); //oscillations per second
amplitude = effect("bounce - amplitude")("Slider");
decay = effect("bounce - decay")("Slider");
} catch(e) {
freq = 1;
amplitude = 200;
decay = 3;
}
posCos = Math.abs(Math.cos(freq*time*2*Math.PI));
y = amplitude*posCos/Math.exp(decay*time);
value - y
Это выражение можно добавить к любому из параметру transform, главное аккуратнее подбирайте частоту отскока (freq) так как оно основано на fps проекта.
Баскетбольный мяч.
Еще одно популярное выражение имитирующее отскок баскетбольного мяча. Выражение к позиции следующее:
Vy0 = 500; //initial y velocity (pixels/second)
Vx0 = 100; // initial x velocity (pixels/second)
g = 2500; // gravity (pixels/second/second)
floor = 400;
e = .85; //elasticity
b = floor - position[1];
h = b + Vy0*Vy0/(2*g);
T = Vy0/g + Math.sqrt(2*h/g);
if ((time-inPoint) < T){
y = Vy0*(time-inPoint) - g*(time-inPoint)*(time-inPoint)/2 + b;
}else{
Vy = -(Vy0 - g*T);
while (true){
Vy *= e;
t = T;
T += 2*Vy/g;
if ((time-inPoint) < T){
t = (time-inPoint) - t;
y = Vy*t - g*t*t/2;
break;
}else if (T - t < thisComp.frameDuration){
y = 0;
break;
}
}
}
[position[0] + Vx0*(time-inPoint), floor - y]
Единственное предупреждение - не ставить начальное значении объекта отскока ниже окна композиции.
- Кубизм.Интро в АЕ
- Титры "Нефть"
- Титры из частиц в АЕ
- Создаем Loading Bar в After Effects
- Титры в стиле Mass Effect 3
- Auto-orient титры в After Effects
- Эффекта сканирования и ультрафиолетовых надписей.
- Текст в замороженном окне
- Зимнее интро в АЕ
- Интро в стиле фильма "Blitz"