Intro
с After Effects 6.0, Adobe ввел некоторые замечательные новые функции в мир выражений. Большинство из этого, является результатом впечатляющих новых возможностей, которые были добавлены в After Effects , которые не обязательно направлены на самовыражение, но, тем не менее, резкое увеличение мощности для выражения писатель. Кроме того, ряд изменений и усовершенствований по выражению самого языка.
новый синтаксис
Сначала, давайте взглянем на некоторые изменения в реализации выражения. нескольких слов объектов, методы и свойства в настоящее время выразили в "intercaps формате вместо того, чтобы использовать подчеркивание разделителем. Например, вы бы написать "thiscomp" вместо "this_comp", или "seedrandom" вместо "seed_random". старый синтаксис-прежнему будет работать в AE 6.0, но рекомендуем вам перейти на новый стиль.
покачивание повышение
извиваться () в настоящее время затронуты seedrandom (), Так что если вы не довольны ценности вы получаете от покачивания () вы можете предшествовать ей вызов seedrandom (), и вы получите разные результаты по каждому семени. например, с помощью семян 13,
seedRandom(13);
wiggle(3,35)
даст Вам различные результаты, чем тот же покачивание () слова без seedrandom ():
wiggle(5,35)
однако, извиваться () игнорируется "вневременные" параметр seedrandom, что означает, если вы сделали нечто вроде этого:
seedRandom(13,true);
wiggle(7,15)
она и впредь будет покачиваться на каждом кадре. однако, Если вы хотите покачивание (), чтобы иметь значение в течение определенного количества кадров, Вы можете использовать новую posterizetime () функции.
Posterizetime
AE 6.0 включает в себя новую posterizetime () функции, которые можно использовать для замораживания вашей анимации периодически такими темпами, которые вы укажете. например, этот вариант нашего выражения покачивание даст нам новую случайная позиция 5 раз в секунду:
posterizeTime(5);
wiggle(5,35)
конвертировать аудио с ключевыми кадрами
ОК - давайте на самом деле весело прочее. AE 6.0 имеет новый ключевой кадр ассистент - конвертировать аудио с ключевыми кадрами. Помощник этом создается новый слой с именем аудио амплитуды с тремя ползунки для левой, правый, и комбинированные аудио каналов. в ползунки имеют ключевые кадры, представляющие Comp аудио уровней. так, Теперь Вы можете получить в компании аудио информации с помощью выражения. это почти (но не полностью) устраняет необходимость использовать все Motion математика.
на рисунке выше, мы импортированы два звуковых файлов. "шестнадцатиричное привет.WAV "был сильно panned на левый канал и" hexfloor.WAV "был panned вправо. , то ключевой кадр помощник "конвертировать аудио в ключевых кадров" было запустить, который автоматически создается новый слой нулевой "Аудио амплитуды" с Ползунок контроля за "левых", "право" и "как" канал. шкале параметра "средний желтый твердый" было связано с левого канала слайдер с этим выражением:
скачать фильм (с аудио)
s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]
Аналогичным, шкале параметра "средний голубой твердый" было связано с правом канале Ползунок. (обратите внимание - я покинул аудио из маленького демонстрацию фильма, поскольку она быстро становится действительно раздражает, как в фильме петли. Если вы хотите услышать, нажмите на ссылку выше). результат, Как вы можете видеть, заключается в том, что два твердых каждой шкале в синхронизации с аудио канал, что они связаны с.
Текст!
нового комплексного типа инструментов After Effects 6.0, просто удивительно. встроенный в аниматоры и диапазон выбора предоставляют возможность быстро создавать невероятно мощный текст анимации. адекватное освещение этой темы можно было заполнить целый учебник (или, возможно, книги), и я оставлю это для кого-то другого. только позвольте мне сказать, что это дополнение к After Effects является достаточной причиной, чтобы получать обновления. Есть также интересные аспекты этого выражения писателей. не только вы можете контролировать текст селекторы и аниматоры с выражениями, но и (наконец -!), Вы можете контролировать себя исходный текст с выражением. этот развязывает полную мощность, и ярость JavaScript строку обработки манипулировать содержанием текста анимации. Начнем с простого примера, и остановиться на некоторых очень мощные вещи до того, как мы уже сделали.
первый, нам нужно говорить о том, как создать текстовый слой. Это очень просто - вы просто выделите текст, инструмент, нажмите кнопку в окне Comp, и что-то. After Effects будет создан новый слой, и текст, который вы вошли также становится именем слоя. Если открыть twirly этого нового слоя текста в график, а затем открыть "текст" twirly вы увидите "оригинала" имущество. Alt / выбрать кнопку на секундомер создать выражение для этого имущества. результат вашего выражения станет текстом, который получает отображаться. Она будет иметь атрибуты (шрифт, размер, и т.д..) Первой характера как вы ввели, чтобы создать слой. Важно помнить о том, что JavaScript будет пытаться лечить результат вашего выражения в виде строки. если в результате ряда, JavaScript будет преобразовать его в строку. Это означает, что ваши слова могли быть просто-то вроде этого:
выражение: Позиция [0]
скачать фильм
position[0]
и JavaScript будет конвертировать X-координата слоя позиции в строку и отображать его. В демо-ролик, Я keyframed позиции текста слой для перемещения по экрану. как вы ожидаете, текст изменений, как слой перемещается.
теперь, нам нужно поговорить немного о том, как JavaScript обрабатывает строки. в JavaScript, строки представлены в виде последовательности символов, заключенный в одном или двойные кавычки. например, " After Effects "И" After Effects 'Являются действительными строк. JavaScript обрабатывает строки как массивы, с каждого символа оккупирующую одного места в массиве. помня о том, что индексация в массив JavaScript начинается с нуля, В результате этого выражения:
s = "After Effects";
s[4]
будет строка "R".
в JavaScript, Вы можете использовать "+" оператор для объединения строк. например,
"abcd" + "efgh"
Результаты в "ABCDEFGH"
JavaScript дает много полезных строку свойства и методы. мы будем смотреть на некоторые из них. например, результат
s = 'After Effects';
s.length
будет 13 (длина строки), и результат
s = 'After Effects';
s.toUpperCase
будет " After Effects ".
есть встроенные в JavaScript, строка объект называется, Интересно, "строка". этот объект является полезным для некоторых строку методы. например, создать строку из символов коды можно сделать что-то вроде этого:
String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)
которая создает строку "ABC" путем преобразования символов Коды для "а", "б", и "С" (48,49, и 50) в соответствующие строки символов.
Еще одна полезная вещь знать, что если вы используете последовательности "R" в строке, это будет интерпретироваться как "возврат каретки. так, Если у вас возникли строки типа
"abcdrefgh"
он будет отображать как:
ABCD
EFGH
ОК - теперь мы знаем достаточно, чтобы быть действительно опасно. Предположим, мы хотим создать случайное 8x4 сетка hexidecimal символов (hexidecimal используется для представления базы 16 цифр и состоит из цифр от 0 до 9 и букв на основе F). Давайте взглянем на слова, которые будут делать это:
случайная шестнадцатиричное сетки
скачать фильм
numRows = 4;
numChars = 8;
holdFrames = 5;
seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);
s = "";
j = 0;
while(j < numRows){
k = 0;
while (k < numChars){
c = Math.floor(random(48,64));
if (c > 57) c += 7;
s += String.fromCharCode(c);
k += 1;
}
s += "r";
j += 1;
}
s
Давайте немного поговорим об этом выражение. Первые три строки просто определить размер сетки и как долго проводить каждый набор случайных чисел. течение ближайших двух линий просто набор случайных семян на новый номер для каждого набора из 5 кадров. Затем наши строки переменной ( "S") установлен на нулевой строкой. нулевой строкой это просто строка нулевой длины без каких-либо символов в ней (пока). остальная часть слова только двух вложенных циклах, что на самом деле построить массив случайных в нашей строка переменной. внешняя петля (одной индексированного на "J" только через последовательность строк в сетке, добавить возврат каретки ( "R") в конце каждой строки. внутренняя петля (одной индексированного на "К") проходит на текущей строки посимвольно и генерирует случайные числа, которые будут либо между 48 и 57 ( "0" через "9"), или между 65 и 70 ( "A " через "F"), и преобразует в результате характер код символа и concatenates ее с нашего вывода строки переменной "S". Я оставляю это как упражнение для вас, чтобы выяснить какие-либо подробности я слева в этом кратком описании.
Время расколоть
Давайте посмотрим на еще один текст вещь, прежде чем мы перейдем к чему-то еще. Сплит () это еще один метод JavaScript, строка, которая добавляет много энергии для нашего текста выражений. Как это работает разделить долго строку в массив строк меньше. она разбивает строку, где она сталкивается с символом, который вы укажете. рассмотреть это выражение:
s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]
это выражение разбивает строку "S", когда он приходит к выводу запятую. каждое из слов между запятыми затем доступны через массив индекс. В этом примере, Индекс нулевой даст нам "честность" и (как в нашем выражение) индекс 2 даст нам "верность". Это дает нам невероятно мощный способ изменить наш источник текста "на лету" с выражением. Вот еще один вариант этого выражения в исходный текст, который проводит каждое из слов в течение одной секунды:
Демо-сплит () метод
скачать фильм
holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]
Заметим, что это выражение будет генерировать ошибку после "сопереживания", когда оно работает из слов. Обычно я бы в некоторых код для проверки, что, но я хотел бы сохранить загромождали вниз для демонстрационных целей.
Для полноты, Я включает два выражения я использовал для создания демо-ролик. Вот один на шкале:
hold = .5;
expand = .5;
t =time%(hold + expand);
if(t < hold){
[100,100]
}else{
linear(t,hold,hold + expand,[100,100],[700,700])
}
А вот тот, за непрозрачность:
fade = .25;
hold = .5;
t = time%(fade + hold + fade);
if(t < fade){
linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
100
}else{
linear(t,fade+hold,fade+hold+fade,100,0)
}
Давайте краска!
Краска демо
скачать фильм
другой замечательный представил новую функцию в After Effects 6.0 комплексного краска двигателя. как новый текст двигателя, это функция, которая заслуживает собственный учебник. Здесь я просто коснуться кое-что вы можете делать с выражениями, которые делают краску инструменты еще более интересными. Для этого примера, Я выбрал кисть инструмента, и обратил один деформированный инсульта. Я потом применять это выражение с инсультом в конце параметра:
freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))
Затем я применил это выражение к инсульта цвета параметром:
if (index <=4){
linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
linear(index,9,12,[1,1,0,1],[0,1,1,1])
}
наконец,, Я применил это выражение к инсульта вращения собственности:
(index-1)*30
Затем я дублирует инсульта в 11 раз. Результатом всего этого является pinwheel на перспективу, что вы смотрите здесь. если вы скачали фильм, Вы увидите, что она растет от центра к периферии, а затем отступает назад в центр каждые две секунды. отметить, что дублирует положение и цвет сами по выражению поэтому все автоматические после того, как вы создали в выражений для первоначального инсульта и сделать дубликаты. это очень простой пример, но возможности безграничны по процедурным краской анимации, как этот.
Liquify!
одной из весьма прохладно дополнений After Effects 6.0 является liquify EFFECT / набор инструментов. Liquify имеет несколько параметров, которые представляют интерес для применения выражений. Для этого примера, Я искаженное изображение с liquify инструментов, а затем применяется следующее выражение на "искажение доля" Параметр.
Liquify демо
скачать фильм
freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50
В результате колебаний в диапазоне от 0% в силу применил силу в полной мере. Я думаю, с небольшой помощью в создании искажений можно использовать выражение с "целью" параметр для создания приятной "размахивать на ветру" эффект.
трекер, используя данные
наконец,, много работы, пошел в улучшении трекер в AE 6.0. одна из новых функций, что представляет особый интерес для выражения писателей является возможность производить сырье отслеживания данных, а это значит, что отслеживание данных не распространяется на другой слой, она применяется к имуществу слоя отслеживаются называемых "приложить точка". Вы можете, конечно, доступ к этим данным с выражением. В этой демо -, Я отслеживаются главой парень на дельтаплан с использованием "сырой" вариант трека типа. Затем я применил это выражение к сгустка цветных точек:
Демо-трекер
скачать фильм
L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position
Это приводит точки на "роиться вокруг главы парень на дельтаплан. глупо пример, но я думаю, что это свидетельствует о том, что концепция имеет возможности.
ну, что в конце нашего тура новые возможности After Effects 6.0 том, что расширение Вселенной в выражение писателя. это удивительный обновить еще более мощным по новые возможности для использования выражений.
|