Я твою щёчку трепал! DesignLoot 01 - Анимация колебания

Привет! У меня накопилось 20 лет стажа в арт-дирекшене и дизайне, бак полон и требует делиться.

Я твою щёчку трепал! DesignLoot 01 - Анимация колебания Дизайн, Урок, Анимация, Гифка, Длиннопост

Чтобы ваша анимация цепляла уставшие красные глаза зрителя - добавляйте физически достоверные имитации. Вес, трение, инерция и т.д. В данном уроке речь пойдет об эффекте затухающего колебания, которого мы добьемся в after effect, с помощью кода (Чисто копи паст, учить язык не потребуется). Можно использовать, чтобы имитировать желешки, маятники, пузяки и так далее.

Применять код можно к любым параметрам - размер, вращение, прозрачность, путь векторной точки (как в моем примере) и тд

Я твою щёчку трепал! DesignLoot 01 - Анимация колебания Дизайн, Урок, Анимация, Гифка, Длиннопост

Для начала рисуете в векторе, что вашей душеньки угодно. Моей была угодна СМЕРТЬ МИМИШНАЯ. Анимируете любой из параметров. У меня это три ключевых кадра: точка в щечке в спокойном положении, точка в оттянутом, и еще раз в спокойном.

Я твою щёчку трепал! DesignLoot 01 - Анимация колебания Дизайн, Урок, Анимация, Гифка, Длиннопост

Между первыми двумя точками расстояние больше, потому что оттягивание занимает больше времени. А потом вжууух - щечка уже быстро летит обратно.

Ну и дальше магия: выделяем path (или rotation, scale, position, что вы там анимируете) и нажимаем горячие клавиши shift+alt+=, либо можно просто щелкнуть с alt по таймеру слева параметра. У вас откроется поле для кода, куда вставляем следующий код:

amp = .1; //амплитуда отскока

freq = 2.0; //частота отскока

decay = 2.0; //сила затухания

n = 0;

time_max = 6;

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 < time_max){

v = velocityAtTime(key(n).time - thisComp.frameDuration/10);

value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

}else{value}

Вот и всё. Вы постигли затухающие колебания этого мира!

Больше интересного можете найти на моём свежесозданном канале: https://t.me/DesLoot