Экономия времени и быстрое создание анимаций.
Выражения позволяют автоматизировать действия (например, покачивание, дрожание или отскок). Это существенно экономит время, благодаря отсутствию необходимости создавать новые ключевые кадры для каждого действия. Вот несколько примеров, которые помогут приступить к работе.
Связывание разных свойств.
Выражения можно использовать для связывания разных свойств, таких как «Положение» и «Поворот», в нескольких композициях. Функция связывания помогает создавать анимации без прописывания разных выражений для каждой из них.
Создание инфографиков движения.
Выражения можно использовать при создании шаблонов анимационного дизайна. After Effects позволяет регулировать разные свойства, выполнять привязку анимаций и изменять файлы .mogrt.
Создание сложных анимаций с помощью управления несколькими слоями.
Инструмент «Лассо» позволяет с легкостью регулировать несколько анимаций с помощью минимального количества элементов управления. Применяя его, можно с легкостью создавать анимации, которые потребовали бы намного больших усилий при использовании других средств.
Сохраняйте выражения как шаблоны для использования в других проектах After Effects. Вам не придется несколько раз делать одно и то же!
Интерфейс выражений
Перед тем, как приступить к использованию выражений, следует ознакомиться с пользовательским интерфейсом. Для начала выполните следующие шаги:
Создайте композицию и выберите Слой > Новый > Сплошной для создания сплошного слоя.
Выберите слой на таймлайне и нажмите S на клавиатуре, чтобы отобразить свойство «Масштаб». Теперь все готово для начала работы с выражениями.
Давайте создадим выражение. Чтобы добавить выражение к свойству, откройте таймлайн и щелкните мышкой секундомер рядом с элементом «Положение» при нажатой клавише Alt (Win) или Opt (Mac). After Effects присваивает всем свойствам стандартные выражения, которые позднее можно изменить.
Обратите внимание на то, как изменился пользовательский интерфейс после создания выражения. Во-первых, значение свойства «Масштаб» (показано как «100,100») становится красным вместо синего. Красный цвет указывает на то, что для значения активно выражение.
Обратите внимание, что слева от секундомера появился символ раскрытия. Нажмите на него. Это позволит открыть само выражение.
Первая кнопка выглядит как знак равенства (=). Она включает и выключает выражение. Когда выражение включено, она синего цвета.
Вторая кнопка переключает в редакторе диаграмм показ значения с течением времени.
Третья кнопка с маленькой завитушкой используется для вызова инструмента «Лассо», который можно использовать при создании выражений.
Четвертая кнопка открывает меню языка выражений, которое можно использовать при создании выражений.
Наконец, справа от четырех кнопок отображается параметр transform.position выражения по умолчанию. Для изменения выражения щелкните его текст на таймлайне, чтобы активировать поле редактора выражений. Оно поддерживает те же функции, что и любое другое текстовое поле, например, копирование, вставку, выбор и перетаскивание текста. При нажатии на клавишу ввода создается новая строка, высоту которой можно изменить. Нажмите на нее и введите нужное выражение, например wiggle(3,50). Дополнительные сведения см. в разделе Управление выражениями.
Выражения и ключевые кадры
После добавления выражения к свойству можно продолжить добавлять или изменять ключевые кадры свойства. Выражение может принимать значение свойства, как это определено соответствующим ключевым кадром, и использовать эти входные данные для создания новых, измененных значений. Например, выражение value+90 свойства «Поворот» конкретного слоя добавляет 90 градусов к значению свойства «Поворот» в дополнение к движению по ключевым кадрам:
// text bounce 2swings=1;timeOffset=0.5;v=valueAtTime(time-timeOffset*textIndex/textTotal)[0];anim=2*Math.PI*v/100;amp=easeOut(v,0,100,100,0);Math.cos(anim*swings)*amp;
// comma numbersvar num =effect("Slider Control")("Slider")num =Comma(num);[num]function Comma(number){number =''+Math.round(number);if (number.length >3){var mod =number.length %3;var output = (mod >0? (number.substring(0,mod)) :'');for (i=0 ; i <Math.floor(number.length /3); i++){if ((mod ==0) && (i ==0))output +=number.substring(mod+3* i, mod +3* i +3);elseoutput+=','+number.substring(mod +3* i, mod +3* i +3);}return (output);}elsereturn number;}
// bounce thing
freq = 5;
decay = 7;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
amp = velocityAtTime(key(n).time - .001);
w = freq*Math.PI*2;
value + amp*(Math.sin(t*w)/Math.exp(decay*t)/w);
}else
value
//AE expressions for mograph//Useful After Effects Expressions//From this tutorial://https://www.youtube.com/watch?v=rsW4fwscwKI&feature=youtu.be//1. Maintain stroke widthvalue /length(toComp([0,0]),toComp([0.7071,0.7071])) ||0.001;//Via Adam Plouff//https://battleaxe.tumblr.com/post/101945073972/maintain-stroke-weight-expression //2. Maintain scale when parenteds = [];ps =parent.transform.scale.value;for (i =0; i <ps.length; i++){s[i] =value[i]*100/ps[i];}s//Via JR Canest’s handy spreadsheet//https://docs.google.com/spreadsheets/d/1a3ArTUHAJwVi-ObZofvz6IfrKbSGSENlaTIRTs8pAJU/edit?pageId=116871612094468624414#gid=0
//3.Time Time Or maybeTime*50Just time, nothing ticky//4. +value//5.*-1//6. Posterize TimeposterizeTime(1);//7. LoopOutloopOut(type = “cycle”, numKeyframes =0)loopOut(type = “pingpong”, numKeyframes =0)loopOut(type = “offset”, numKeyframes =0)//You don’t need to include “numKeyframes = 0”loopOut(type = “cycle”) will work too :)//8. Reference Another Compcomp(“COMP_NAME”).layer(“LAYER_NAME”).//To reference the source test from the example in the videocomp(“COMP_NAME”).layer(“LAYER_NAME”).text.sourceText//9. Wigglewiggle(freq,amp);E.g.wiggle(1,50);//10. math.floor()