вход
Примечание: Это автоматический перевод; воспользуйтесь понятном языке без сленга.

выражений Adobe After Effects 6

Dan Ebberts
Обучение :
выражений Adobe After Effects 6
выражений Adobe After Effects 6
Using Expressions in After Effects 6

Dan Ebberts Dan ebberts,
Сакраменто, Калифорния, сша

© 2003 г. Dan ebberts и CreativeCOW.net. Все права защищены.



Intro

с After Effects 6.0, Adobe ввел некоторые замечательные новые функции в мир выражений. Большинство из этого, является результатом впечатляющих новых возможностей, которые были добавлены в After Effects , которые не обязательно направлены на самовыражение, но, тем не менее, резкое увеличение мощности для выражения писатель. Кроме того, ряд изменений и усовершенствований по выражению самого языка.


новый синтаксис

Сначала, давайте взглянем на некоторые изменения в реализации выражения. нескольких слов объектов, методы и свойства в настоящее время выразили в "intercaps формате вместо того, чтобы использовать подчеркивание разделителем. Например, вы бы написать "thiscomp" вместо "this_comp", или "seedrandom" вместо "seed_random". старый синтаксис-прежнему будет работать в AE 6.0, но рекомендуем вам перейти на новый стиль.


покачивание повышение

извиваться () в настоящее время затронуты seedrandom (), Так что если вы не довольны ценности вы получаете от покачивания () вы можете предшествовать ей вызов seedrandom (), и вы получите разные результаты по каждому семени. например, с помощью семян 13,

покачивание с seedrandom


seedRandom(13);
wiggle(3,35)

даст Вам различные результаты, чем тот же покачивание () слова без seedrandom ():


покачивание без seedrandom


wiggle(5,35)

однако, извиваться () игнорируется "вневременные" параметр seedrandom, что означает, если вы сделали нечто вроде этого:


seedRandom(13,true);
wiggle(7,15)

она и впредь будет покачиваться на каждом кадре. однако, Если вы хотите покачивание (), чтобы иметь значение в течение определенного количества кадров, Вы можете использовать новую posterizetime () функции.


Posterizetime

AE 6.0 включает в себя новую posterizetime () функции, которые можно использовать для замораживания вашей анимации периодически такими темпами, которые вы укажете. например, этот вариант нашего выражения покачивание даст нам новую случайная позиция 5 раз в секунду:

покачивание с posterizetime


posterizeTime(5);
wiggle(5,35)

конвертировать аудио с ключевыми кадрами

ОК - давайте на самом деле весело прочее. AE 6.0 имеет новый ключевой кадр ассистент - конвертировать аудио с ключевыми кадрами. Помощник этом создается новый слой с именем аудио амплитуды с тремя ползунки для левой, правый, и комбинированные аудио каналов. в ползунки имеют ключевые кадры, представляющие Comp аудио уровней. так, Теперь Вы можете получить в компании аудио информации с помощью выражения. это почти (но не полностью) устраняет необходимость использовать все Motion математика.

audio to keyframes

конвертировать аудио с ключевыми кадрами

на рисунке выше, мы импортированы два звуковых файлов. "шестнадцатиричное привет.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 будет преобразовать его в строку. Это означает, что ваши слова могли быть просто-то вроде этого:

position expression

выражение: Позиция [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). Давайте взглянем на слова, которые будут делать это:

random hex grid

случайная шестнадцатиричное сетки

скачать фильм

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 даст нам "верность". Это дает нам невероятно мощный способ изменить наш источник текста "на лету" с выражением. Вот еще один вариант этого выражения в исходный текст, который проводит каждое из слов в течение одной секунды:

split() method

Демо-сплит () метод

скачать фильм

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)
}

Давайте краска!

paint

Краска демо

скачать фильм

другой замечательный представил новую функцию в 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

Liquify демо

скачать фильм


freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50

В результате колебаний в диапазоне от 0% в силу применил силу в полной мере. Я думаю, с небольшой помощью в создании искажений можно использовать выражение с "целью" параметр для создания приятной "размахивать на ветру" эффект.


трекер, используя данные

наконец,, много работы, пошел в улучшении трекер в AE 6.0. одна из новых функций, что представляет особый интерес для выражения писателей является возможность производить сырье отслеживания данных, а это значит, что отслеживание данных не распространяется на другой слой, она применяется к имуществу слоя отслеживаются называемых "приложить точка". Вы можете, конечно, доступ к этим данным с выражением. В этой демо -, Я отслеживаются главой парень на дельтаплан с использованием "сырой" вариант трека типа. Затем я применил это выражение к сгустка цветных точек:

tracker

Демо-трекер

скачать фильм

L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position

Это приводит точки на "роиться вокруг главы парень на дельтаплан. глупо пример, но я думаю, что это свидетельствует о том, что концепция имеет возможности.

ну, что в конце нашего тура новые возможности After Effects 6.0 том, что расширение Вселенной в выражение писателя. это удивительный обновить еще более мощным по новые возможности для использования выражений.

ФорумыОбучениеЖурналУслугивидеоклипыНовостиБлоги


© CreativeCOW.net Все права защищены.

Creative общин мира

[Верх]

Englishالعربية中文FrançaisDeutschעבריתहिन्दीItaliano日本語PortuguêsРусскийEspañol