|
Несколько спала эйфория, столь
сильная после релиза версии 5.5 Adobe After Effects. Я имею в виду
эйфорию по поводу трехмерных возможностей популярнейшего композера.
Все же интеграция возможностей эффектов работающих с трехмерными
и псевдотрехмерными объектами (Shatter, FreeformAE, Zaxwerks Invigorator)
и трехмерных возможностей собственно Adobe After Effects остается
достаточно ограниченной. И вот в предлагаемой статье вы найдете
пример расширения функциональности эффекта FreeformAE. Кстати, пример
расширения функциональности в плане трехмерности уже приводился
в статье о реализации контражурной засветки с помощью эффекта Trapcoe
Shine. Решалась эта задача с помощью "аппарата выражений"
Adobe After Effects. Тот же принцип будет использован и теперь.
Для начала вам стоит скачать проект,
реализация которого будет описана в этой статье. Скачать проект
действительно стоит, потому что в статье будет на столько рассказываться
какие выражения надо написать для решения данной конкретной задачи,
сколько будет разъяснена общая концепция проекта. Те же, кто на
хочет мыслить концептуально, найдут в статье советы, как можно воспользоваться
проектом "не влезая в тонкости".
Теперь давайте оттолкнемся от верного рассуждения, что все "трехмерные"
эффекты дают лишь плоское изображение. Т.е эффекты пользуясь различными,
часто достаточно сложными алгоритмами они просчитывают трехмерную
картину и отображают ее на плоском слое. Вот здесь и проблема -
плоский слой лишь отображает трехмерный объект и такой "псевдотрехмерный"
объект не в состоянии взаимодействовать с действительно трехмерными
слоями Adobe After Effects. Точнее говоря, изображенный средствами
FreeformAE объект не имеет осей, с помощью которых вы могли бы "крутить"
этот объект в трехмерном пространстве прямо в окне Comp Window.
Хотя, конечно, средства управления этими осями есть в самом эффекте
FreeformAE. И значит имеет смысл попытаться связать управление осями
через FreefomAE и "родными" трехмерными осями Adobe After
Effects. Логичнее всего попытаться сделать это с помощью все того
же "аппарата выражений" Adobe After Effects. И органиизовать
эту связку стоит попробовать через фиктивный слой (Dummy Layer).
Так что, если вы собираетесь продолжить разбираться с этим примером,
хорошо бы вам иметь хотя бы общее понятие о "аппарате выражений"
Adobe After Effects.
Но откроем наконец проект. Основой телевизора будет контурный (Wireframe)
куб, собранный из шести (по сторонам куба) трехмерных слоев. Воспользовавшись
инструментом Camera Orbit "покрутитесь" камерой вокруг
куба, имитирующего телевизор, и убедитесь, что он действительно
трехмерен.
Следующим слоем будет TV.pct (Вид спереди на телевизор). Именно
к нему впоследствии и будет применен эффект FreeformAE.
Что бы придать трехмерность лицевой плоскости телевизора, для "выдавливания"
с помощью эффекта FreeformAE используем управляющий слой TV_DISP.pct.
Это серая карта неровностей (наподобие Bump Map).
Теперь переключитесь в режим указателя (Черная стрелка Arrow Tool
на палитре инструментов). Кстати, быстро выбрать этот инструмент
можно с помощью "горячей клавиши" [V]. Выберите слой Cube.
Попытайтесь подвигать этот слой вдоль осей XYZ прямо в основном
окне Comp Window.
Переключитесь на инструмент
поворота (Rotation Tool). Этот инструмент можно выбрать и с помощью
"грячей клавиши" [W]. Покрутите куб телевизора. Cube -
слой, подвергшийся прекомпозиции, и содержащий трехмерный контурный
(Wireframe) куб. Этот куб стал контурным именно из за того, что
перед прекомпозицией он был переключен в контурный режим. Далее
для слоя был включен режим непрерывной растеризации (Collapse Transformations/Continuously
Rasterize). Этот переключатель выглядит в виде такого черного солнышка
в окне Timeline, правее названия слоя. В данном конкретном случае
такой режим был включен для того что бы сохранить трехмерность,
содержащщегося в слое куба. Этот трехмерный куб и будет управлять
"трехмерными" параметрами эффекта FreeformAE. Реализовано
управление будет, как уже говорилось, с помощью "аппарата выражений"
Adobe After Effects. Параметры слоя Cube - Position (Местоположение),
Anchor Point (Точка привязки), Orientation (Ориентация) будут управлять
соответствующими параметрами эффекта FreeformAE. А уж при окончательном
просчете надо будет лишь выключить видимость слоя с кубом.
Настроим вид в основном окне композиции (Comp Window).
Для того, что бы переключить вид, воспользуйтесь соответствующим
меню в правом нижнем углу окна Comp Window. Но сначала нужно открыть
еще одно окно Comp Window. Делается это с помощи команды меню View/New
View. Открыв окно, переключите его в режим вида сверху (Top). На
виде сверху вы увидите два контурных прямоугольника. Один из них
соответствует камере, другой же слой - телевизор (слой Cube). Лицевая
же плоскость телевизора останется в том же положении, т.к. это всего
лишь плоский (2d) слой.
Теперь выберите слой Cube. Проще это сделать в окне Timeline. Попробуйте,
"потаскайте" выбранный слой. Этот слой ведет себя как
обычный трехмерный слой. Но вот что интересно, слой, к которому
применен эффект FreeformAE, также отрабатывает задаваемые вами перемещения,
как бы меняя вид из камеры в соседнем окне композиции (Active Camera).
Кстати, такой "ортографический" трехмерный вид очень удобно
использовать когда вы пытаетесь выравнять трехмерные слои относительно
друг друга.
А можно ли и легко ли адаптировать приведенный проект для собсвтвенных
целей ? И можно и легко, скорее всего после замены исходных изображений
вам придется лишь отрегулировать значение параметра Displace Height
в эффекте FreeformAE.
Как вы наверное обратили внимание, в окне проекта есть еще одна,
пока никак нами не использованная папка Fractal Landscape. В ней
содержатся две композиции Fractaland Color и Fractaland Displace.
Используем их. Для этого вначале выберите слой TV.pct, тот к которому
применен эффект FreeformAE (в композиции Freeform). Для того что
бы работать с этим слоем, вам вероятно придется сначала разблокировать
его. Если вы до сих пор это не сделали. Теперь удерживая клавишу
[Alt] тащите композицию Fractaland Color из окна проекта в окно
Timeline, в котором открыта композиция Freeform. Так вы в выбранном
слое замените изображение TV.pct на композицию Fractaland Color,
ничего более в этом слое не меняя.
Теперь выберите слой TV_DISP.pct и применяя только что описанную
технологию тащите на него из окна проекта композицию Fractaland
Displace.
Теперь попытаемся разобраться с связью куба (слоя
Cube) и параметров эффекта FreeformAE. Для этого откроем параметры
вращения и ориантации слоя Cube (Rotation и Orientation). Открываются
параметры нажатием на клавишу [R]. Поменяйте значения параметра
Orientation на следующие: 270.0, 0.0, 0.0. Обратите внимание, что
не стоит менять значения собственно параметров поворота X, Y и Z
Rotation, так как параметры эффекта FreeformAE привязаны не к ним.
Нажав клавишу [F3], откройте окно управления параметрами эффекта
FreeformAE (Effect Controls) для выбранного слоя.
Найдите параметр, определяющий силу воздействия управляющей карты
неровностей (Displacement Map) на высоту неровности, организуемую
с ее помощью. Речь идет о параметре Displace Height. Установите
его значение равным 30.
Еще одна задача, которая может показаться интересной в свете развития
проекта - использование одновременно, в одной композиции нескольких
"псевдотрехмерных" объектов, созданных с помощью эффекта
FreeformAE. С одной стороны, конечно, было бы удобно иметь для каждого
из объектов сбственный "управляющий" куб. И, кажется,
такой вариант вообще может оказаться единственно возможным. Но как
же быть с выражениями в продублированных слоях ?
Сначала позакрывайте все окна композиции (Comp Window). И Active
Camera и вид сверху (Top view). Открытым оставьте лишь окно с шкалой
времени (Timeline Window). Кстати, обратите внимание, что если в
меню Window у вас включена опция Closing in Groups, то закрывая
любое окно композиции, и удерживая при этом клавишу [Alt], вы закроете
все окна композиции (Comp Window), принадлежащие данной композиции.
При этом окно Timeline Window останется открытым. Убедитесь, что
все параметры у всех слоев в окне Timeline свернуты. Сдублируйте
слои Cube и FreeformAE. Для дублирования можно воспользоваться либо
командой меню Edit/Duplicate, либо сочетанием клавиш [Ctrl]+[D].
Далее два выбранных слоя утащите вверх или вниз в стеке шкалы времени
(Timeline). Это надо хотя бы для того, что бы визуально разделить
две пары одинаковых слоев. Теперь можно опять открыть окно композиции
Comp Window. Для этого стоит лишь щелкнуть мышью по иконке, находящейся
на правом краю окна Timeline.
Если же все-таки произошла какая то ошибка, то скорее всего она
связана с обработкой "выражений" сдублированных слоев.
Что бы разрешить такого рода ошибку - разделите, как уже было сказано
пары сдублированных слоев, выберите все слои (для этого можно использовать
сочетание клавиш [Ctrl]+[A]. На одном из слоев (все равно на каком)
щелкните правой кнопкой мыши. В появившемся контекстном меню выберите
пункт Reveal Expression Errors (Показать ошибки в выражениях). Далее
включите оказавшиеся выключенными выражения, для чего щелкните по
перечеркнутому знаку "равно" рядом с соответствующими
выражениями. Итак, для каждого "псевдотрехмерного" объекта,
организованного с помощью эффекта FreeformAE, вы получите свой собственный
"управляющий куб". И при работе с многими "псевдотрехмерными"
объектами учтите, что при пересечении такого рода объектов вся их
"псевдотрехмерность" моментально "выплывет наружу"
- слои то все же плоские. А если же вы все же сделаете их трехмерными,
то пересекаться они будут все же как плоскости, а не как трехмерные
объекты.
И заключение для тех, кто ждал детальных разъяснений
по поводу собственно выражений. Их не будет. Вернее, они есть в
качестве комментарий к выражениям вобственно в проекте. Самых небольших
комментариев. Те, кто понял идею, легко разберутся, а те кто не
понял - могут пользоваться и так, благо все не только настроено,
но и объяснено, как заменить исходные изображения на свои собственные.
Если же у вас все же есть желание досконально разобраться с использованными
выражениями - выберите для начала слой Cube и нажмите клавишу [U].
Так вы откроете все параметры слоя, имеющие ключевые точки и выражения.
Со всеми параметрами, в принципе, все ясно, непонятно только назначение
выражения на параметре масштабирования (Scale). Это выражение читает
размеры слоя, к которому применен эффект FreeformAE и управляет
им значением параметра этого эффекта Displace Height.
// Ищет слой с примененным эффектом Freeform
ниже в стеке Timeline (index + 1) и масштабирует слой //Cube до
размеров слоя с примененным эффектом FreeformAE. Роль третьего размера
играет значение параметра Displacement Height. Вот почему было так
важно правильно //позиционировать слои в стеке Timeline.
a = comp("Freeform Comp").layer(index
+ 1); // "a" - слой с примененным эффектом FreeformAE
disp = a.effect("Freeform AE").param("Displace Height");
//"disp" - величина, равная значению Displace Height
[a.width,a.height,disp] // установка габаритных величин
И еще - слой с примененным эффектом Freeform заблокирован
для того, что бы при перетаскивании куба (слой Cube) случайно не
потащить слой с FreeformAE.
|