Создание огня в After Effect

Создание огня в After Effect

Достаточно реалистичный огонь средствами After Effects.

В итоге должно получиться вот что:

Read more: Создание огня в After Effect

3D-анимация слоев в After Effects

Здесь я попытаюсь описать пару примеров 3D-анимации слоев в Adobe After Effects (AAE), простейшие приемы работы с виртуальной камерой, нуль объектами и источниками света. Надо сказать, что сам я не являюсь специалистом по AAE, и потому кто-то может найти мою методику исполнения поставленной задачи не эффективной, однако я взялся написать это руководство по просьбе моих коллег форумчан, заинтересовавшихся техникой исполнения эффектов в одном из представленных клипов.

 

Пример 1. Мельница (таким было рабочее название моего проекта).

Описание: Приближение и просмотр вращающихся вокруг одной оси (как лопасти мельницы, а точнее водяного колеса) фотографий. В центре вращения присутствует надпись.

 

Шаг 1: Запускаем AAE и создаем новую композицию, продолжительностью 20 секунд.



 

 

 

Шаг 2: Импортируем в проект фотографии, которые мы собираемся анимировать (File->Import->File… [Ctrl+I]). Пусть в нашем примере их будет 8. Кстати, это могут быть не только фотографии, с тем же успехом можно анимировать и слои с видео.

Для проекта-примера я создал изображение, размером 1600х1200, которое будет выполнять роль фотографий, и импортировал его в проект 8 раз. Вы же импортируете в проект реальные фотографии. Желательно, привести их к размеру 1600х1200, для того, чтобы можно было пользоваться моими цифрами (координатами и т.п.).

 

 

 

Шаг 3: Создадим Null-Object (Нуль Объект), он понадобится нам в качестве оси вращения, к которой будут прикреплены остальные слои с фотографиями (Layer->New->Null Object…)

 

 

Нуль объект сразу располагается на TimeLine (имя по умолчанию “Null 1”), делаем “Null 1 3D-слоем, выбрав в контекстном меню слоя пункт “3D Layer”, или щелкнув мышкой на квадрате под изображением куба (см.рис.).

 

Шаг 4: Теперь нам понадобится камера (Layer->New->Camera…)

 

 

 

В окне Camera Settings Выберем пресет (Preset) “24mm”, для того чтобы угол зрения(Angle of View) нашей камеры был больше, что даст усиленный эффект перспективы. Перейдем в окно композиции

 

 

 

и выберем двойной вид (2 Views). Для левого окна выберем вид сверху (Top), для правого - вид, который будет давать нам камера (Active Camera).

 

Шаг 5: Помещаем фотографии в композицию.

1. Берем первое фото и переносим его на TimeLine. Так же делаем новый слой с фото трехмерным – 3D;

2. Переместим фотографию влево, в позицию с координатами (-1600,288,0);

3. Теперь свяжем его с нашим нуль объектом (Null 1), для этого в колонке Parent выбираем слой Null 1, или, зацепив указателем мыши за изображение спирали (в той же колонке Parent), перетаскиваем на слой Null 1. Теперь все изменения положения нуль объекта будут отражаться и на связанном с ним объекте.

 

Сейчас наша фотография не видна в окне композиции. Отодвинем камеру дальше от плоскости фотографии и приподнимем выше и левее (чтобы получить лучший обзор 3D композиции) – переместим камеру в координаты (0,-1000,-4500).

 

 

 

4. Повернем Null 1 на -450 вокруг оси Y.

 

Повторим пункты 1-4 для всех остальных фотографий. Или, чтобы сделать это быстрее поступим следующим образом:

- Помещаем на TimeLine все фотографии;

- Выделяем слои с фотографиями от 2-й до 8-й;

- Делаем сразу все трехмерными;

- нажимаем клавишу “P” - откроется свойство Position сразу у всех слоев, изменяем координаты в одном из них на (-1600,288,0) – изменятся координаты во всех слоях;

- Снова нажимаем “P”, на этот раз чтобы закрыть свойство Position.

Теперь можно снять выделение и повторить пункты 3 и 4 уже отдельно для каждой фотографии (поворачивая на углы -90, -135, -180, - 225, -270, -315, последнее фото можно не поворачивать). Должно получиться что-то вроде этого:

 

 

 



Шаг 6:
Анимируем камеру и фотографии.

Камера:

1. Переместим указатель текущего времени на TimeLine в начало (0:00:00:00);

2. Выберем слой с камерой и откроем список свойств;

3. Переместим камеру - Position = (0,-3000,-10000);

4. Включим режим задания ключевых точек для свойств Point of Interest и Position, для чего нажмем на пиктограмму секундомера слева от имени свойства;

5. Переместим указатель времени в позицию (0:00:04:00) и установим значения: Point of Interest = (-1400, 288, 0), Position = (-1800, 288,-2500);

 

В моем проекте я еще, с помощью Graph Editor, изменил скорость движения камеры, чтобы остановка ее была более плавной.

 

 

 

Теперь можно закрыть свойства камеры и открыть свойства Нуль объекта:

1. Снова переместим указатель текущего времени на TimeLine в начало (0:00:00:00);

2. Установим свойство Y Rotation = (0 х +0,00) и включим для него режим задания ключевых точек;

3. Переместим указатель времени в конец композиции (0:00:19:24) и зададим Y Rotation = (-1 х -180,00) – фотографии за 20 секунд совершат полтора оборота.

 

На этом можно остановиться и отрендерить композицию, а можно попытаться придать ей более естественный вид, поработав с источниками света.

 

Шаг 7: Свет.

1. Создадим источник заполняющего света (Layer->New->Light…), назовем его Light Ambient, и отдадим на его долю 40% освещения;

2. Второй источник света Light Spot (точечный), возьмет на себя оставшиеся 60% света, а так же установим угол конуса (Cone Angle) равным 60 градусам;

 

 

 

3. Теперь разместим Light Spot над камерой - Position = (0,-3000,-10000) и привяжем его к ней.

Теперь в анимации ярче выражен объем:

 

 

 

Что ж, осталось только выполнить рендеринг анимации с альфа-каналом (я предпочитаю mov) и встроить ее в свой проект.

 

Удачи!

"Отрывание" объекта от неоднородного фона

Как "оторвать" объект от не однородного фона, если результаты работы обычных фильтров не устраивают?
Конечно, автоматически это сделать очень непросто. Иногда даже невозможно – ведь программа часто не может рассчитать многократные изменения фона. Остается один способ – делать это вручную. Часто покадрово. Действительно, это долго, но результат будет уже таким, которым можно гордиться…

Часто рекомендуемый для покадровой обработки Adobe Photoshop может подойти только в одном случае – если необходимо кроме «отрывания» объекта его еще дополнительно обработать – подкрасить, например… В случае же с обычным отделением объекта от неоднородного фона возможно использовать встроенную в After Effects возможность – создание дополнительной информации о прозрачности (Travelling Matte).
Говоря словами, понятными видеомонтажерам – мы создадим канал, аналогичный альфа-каналу. Он будет хранить информацию о прозрачности/непрозрачности определенных частей нашей картинки.
Для упрощения мы используем изображение собаки (уж очень удобные кадры  )


При помощи команды Import импортируем файл в проект, после чего добавляем в нашу композицию В примере параметры композиции соответствуют параметрам видео. Щелкнув правой кнопкой мыши по слою, выбираем Vector Paint (Effect/Paint/Vector Paint.)


Чтобы создать так называемый Matte – слой, необходимый для отделения объекта (собаки) от общего неоднородного фона, нам необходимо «закрасить» объект. Для этого в параметрах Vector Paint выбираем радиус кисти. Для наибольшего удобства (чтобы не путать фон и нашу «раскрашку» выберите цвет кисти, контрастирующий с фоном. В данном случае – это красный цвет. Хочу обратить внимание, что в данном случае цвет большой роли не сыграет. Это лишь маркер, который используется только для определения границ зарисованной области.
Чтобы обработать каждый кадр по отдельности в меню Playback Mode устанавливаем параметр Current Frame. Это позволит создать для каждого кадра отдельную «маску».
Чуть ниже в разделе Composite Paint выбираем In Original (В оригинале). Это позволит нам видеть, что мы закрашиваем сразу же после «прикосновения» кистью.


Ну, а теперь самое «легкое» : ) – нам осталось в КАЖДОМ кадре заштриховать сплошным цветом внутренний контур нашей фигуры (в данном случае контур собаки). Ничего страшного, если не удастся с первого раза сделать это точно - в дальнейшем мы легко все сможем поправить.
Для передвижения от уже обработанных кадров к еще не «зарисованным» можно использовать кнопки с панели управлению Time Controls или используя PageUp и PageDown.
Конечно, для именно такого способа отделения объекта от неоднородного фона требуется безупречное владение мышью или наличие графического планшета. Да и использовать его можно на фрагментах небольшой длительности – слишком трудоемка работа. Однако качество полученного в результате продукта (при должном умении) может быть более чем высоким.


По окончанию столь увлекательного дела, как раскрашивание живой собаки  возвращаемся к началу – на самый первый кадр.
В параметрах эффекта Vector Paint проставляем параметр Composite Paint в режим Only (Только он). Это означает, что в кадре мы будем видеть тот контур, над которым так старательно работали. В общем и целом в итоге у нас будет красный контур собаки на черном фоне. Эдакий Пес Баскервилей… Проверив все кадры (обязательно) отсматриваем наличие ненужных отверстий в заштрихованном контуре – он должен быть сплошным, иначе, при последующем «отрывании» собаки от фона вместе с фоном от нее оторвет какой-нибудь кусочек. Вы же этого не хотите? wink.gif


Естественно, обнаружив недорисованные места, ошибку надо поправить. Как только это произошло, мы можем попытаться отсмотреть полученный результат. Для этого параметр Composite Paint переключаем в режим As Matte.
Мы уже можем видеть, что у нас получается. Если заметите где-то огрехи, их можно изменить, «стерев» определенную часть ранее заштрихованного контура. Рекомендуется делать это не тем же размером кисти, а несколько меньшим. Так Вы достигнете бОльшей точности в действиях.


Ну, и последнее – теперь наша собака может резвиться где угодно – ведь мы после долгих мучений все-таки оторвали ее от фона.
Так что ищите в своих архивах подходящее видео и – вперед!
P.S.: Во время проведения эксперимента ни одно животное, кроме измученного монтажера не пострадало…
P.P.S: Указанный здесь способ дает более точный результат при использовании на материале с обилием мелких деталей, ибо, чтобы кривыми "отмаскировать" ту же кость, которую собака держит в пасти времени понадобится гораздо больше, чем ее "отрисовать".
Кривые хороши на крупных и не слишком быстро меняющих местоположение объектах

"Отрывание" объекта маской в After Effects

Задание: Вырезать рыбку, мирно плавающую на фоне кораллового рифа (рис.1.), и расположить ее на другом видео.


Рис.1.

Реализация:

Часть 1. Маскирование.

1.1. Создаем композицию.

Открываем AAE, создаем новую композицию (Composition->New Composition…) “PAL D1/DV, 720x576”.

Импортируем (File->Import->File... или Ctrl+I) клип с рыбкой - compoz1.avi и размещаем клип на Timeline, просто перетащив его из окна проекта.

Замечание: я предварительно конвертировал compoz1.avi, сжатый DivX, в DV-формат и назвал его compoz1_DV.

1.2. Создание маски.

Есть два варианта:

Первый - Выбираем на Timeline клип, затем в меню Layer->Mask->New Mask или Ctrl+Shift+N – в этом случае маска накроет весь кадр и будет иметь четыре узловые точки по углам кадра. Остается только перетащить ее на объект, наверняка придется еще добавить узловые точки (вершины) маски (рис.2.).



Второй – Выбираем в панели инструментов (Tools) перо (Рис.3.) и начинаем создавать маску прямо по объекту в окне композиции (рис.4.). Завершается создание маски ее замыканием, для чего, обойдя по контуру объекта, щелкаем мышкой на первой созданной вершине, или выбрать пункт меню Layer->Mask->Closed.

   
Рис.3.                                     Рис.4.

В начале можно создать довольно грубую маску, охватив основной контур объекта. На данном этапе маска представляет собой многоугольник. Далее, поскольку рыба очень гладкое создание, ее лучше всего маскировать гладкими кривыми, а не отрезками (сторонами многоугольника). Для того чтобы из сторон сделать гладкие кривые надо изменить свойства узлов (вершин) маски. Наводим мышку на знакомое уже Перо в панели инструментов, нажимаем и удерживаем левую кнопку мыши – в выпадающем списке нас интересует последний пункт (рис.5.)

Рис.5.

Так же можно выбрать этот инструмент, кликнув несколько раз мышкой на Перо в панели инструментов или нажав несколько раз клавишу G, при этом происходит перебор инструментов из выпадающего списка, нужно только вовремя остановиться.
Если теперь щелкнуть этим инструментом по вершине маски, то стороны, примыкающие к выбранной вершине, примут вид кривой, а в самой вершине, по касательной к этой кривой, будут построены два отрезка (рис.6.1.). Величина и направление этих отрезков напрямую влияют на направление и степень кривизны линий по обе стороны от вершины (рис.6.2.). Стоит немного “потаскать” эти отрезки, чтобы легко понять - как они влияют на поведение кривой.

  

Рис.6.1.                          Рис.6.2.

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

Маска, получившаяся у меня представлена на рисунке 7.

Рис.7.

Замечание: Если внимательно посмотреть на рисунок 7, можно заметить не одну, а две маски: одна для тела, другая для плавника. Зачем? Дело в том, что при движении изображение плавника то выходит за пределы изображения рыбки, то находит на него полностью, т.е. уходит внутрь основной маски. И если бы мы маскировали плавник одной маской с телом рыбки, то на кадрах, где изображение плавника прячется, все вершины той части маски, которая предназначалась для плавника, нам надо было бы выстраивать по краю тела. А это перемещение лишних вершин от кадра к кадру, т.е. лишние затраты времени. В случае разных масок нам можно бросить одну внутри другой и только следить, чтобы малая маска не вышла за границы основной (рис.7.1).

Рис.7.1.

Перед тем как приступить к анимации масок перейдем на Timeline и раскроем список категорий свойств слоя. Для чего щелкните на стрелке рядом с именем слоя (рис.8.1).

Рис.8.1.

Здесь мы увидим те самые две маски, которые были созданы в окне композиции. Откроем список свойств маски 1 (рис.8.2.).

Рис.8.2.

Рассмотрим каждое из них:

Mask Shape – форма маски. Собственно анимация маски и есть изменение ее формы (очертаний) от кадра к кадру, следуя за объектом. То чем мы займемся далее.

Mask Feather – размытие границы маски. Наверное, нет смысла объяснять, что у изображений движущихся объектов границ в той или иной степени размыты. Потому достаточно сложно достоверно определить относится ли какой-либо пиксель на границе к объекту, или он несет информацию об изображении фона. Во-вторых, при дальнейшем наложении вырезанного объекта на другой фон, желательно чтобы его границы так же плавно перетекали в фоновое изображение, иначе он будет выглядеть неестественно – чужеродным телом.

Я установил значение 2 по вертикали и горизонтали. Возможно, это сильно смелое заявление, которое предъявляет большие требования к точности маски. Можно было поставить и 5, а в некоторых случаях для быстрого маскирования крупных объектов оправданы будут значения в 10 и 20 pix.

Mask Opacity – непрозрачность маски. Думаю объяснять не нужно.

Mask Expansion – увеличение, расширение маски. В нашем случае можно делать, а можно и нет. Я предпочитаю делать небольшое расширение (2-3 pix) для того, чтобы реальная граница маски проходила не точно под кривыми, которые мешают видеть границу объекта, а была несколько шире.

1.4. Анимация масок.

По сути, анимация маски это изменение ее формы c течением времени, в нашем случае маска должна изменяться, следуя за изменением формы границ изображения рыбки.

Однако это вовсе не означает, что мы должны перетаскивать все вершины маски для каждого кадра анимации. Если движение плавное, без явного ускорения (замедления), можно пропустить несколько кадров и задать положение маски для 5-го, 6-го кадра. Тогда AAE сам интерполирует положение маски для всех промежуточных кадров, плавно передвигая каждую вершину маски от кадра к кадру до своего нового положения, которое мы задали. И еще, допустим, что рыбка плавно передвигается на протяжении 1 секунды на видео, а это целых 25 кадров! Но вот хвост телепается из стороны в сторону. Не беда, фиксируем форму маски для 1-го и 25-го кадров, а затем возвращаемся и создаем несколько ключей в промежуточных кадрах, передвигая только вершины маски, ответственные за хвост.

Ну, начнем, пожалуй.

Маска уже создана. Передвигаем маркер текущего времени () на Timeline в положение 0:00 – начало композиции. Для того чтобы начать создавать ключевые кадры, щелкнем на изображении секундомера () слева от свойства Mask Shape. Теперь, передвигая маркер времени на Timeline, проводим коррекцию формы маски в соответствии с изменяющейся формой рыбки, при этом можно видеть, что как только мы начинаем изменять форму маски, на Timeline, в этом месте композиции, тут же будет создаваться ключевой кадр, отмечаемый ромбиком (рис.9).

Рис.9.

Ключевой кадр так же можно создать, не изменяя маску – поставить галочку в квадратном окошке (CheckBox), расположенном в левой части окна Timeline напротив свойства (в данном случае Mask Shape). Удаляется ключевой кадр установкой на него ползунка времени и снятием галочки. Справа и слева от этого квадратного окошка, в зависимости от наличия с права или слева от текущего ключевого кадра других ключевых кадров, появляются стрелки, с помощью которых можно перейти к следующему или предыдущему ключевому кадру соответственно.

Вот что получилось у меня с расположением ключевых кадров на Timeline:

Рис.10.

Еще несколько замечаний по созданию и корректировке маски:

1. Клавиатура, запоминайте горячие клавиши, они существенно экономят время:

G – выбор инструмента Pen    и переключение между его режимами;

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

V – выбор инструмента Selection (указание, выделение)  – инструмент по умолчанию.

Так же не забывайте о клавише Ctrl. С ее помощью, находясь в режиме “руки”, на время нажатия включается инструмент указания и выделения (стрелка), позволяющая модифицировать маску (перемещать вершины, изменять кривизну, выделять несколько вершин для выполнения групповых операций).

2. Вполне вероятно, что при первоначальной расстановке вершин, вы ошибетесь в выборе места их установки и количестве. Не проблема – AAE позволяет добавить вершины маски в любой момент времени (при наведении пера на отрезок или кривую маски, курсор примет вид пера со знаком “+”). Для удаления вершин так же имеется соответствующий режим “пера” (со знаком “-”). Но имейте в виду добавление и удаление вершины происходит во всех ключевых кадрах.

2.1. В связи с такой возможностью я бы советовал сначала создать и анимировать грубую маску, а затем вторым проходом привести ее к нужному виду, передвигая и добавляя вершины по мере необходимости.

В чем тут дело? Допустим, вам, по ходу анимации маски пришлось добавить с десяток (а то и больше на сложных объектах) вершин. Например: для маскирования части руки от плечевого до локтевого сустава вы определили всего две вершины (один отрезок) и тут по середине анимации, при сгибе руки, одежда на ней пошла складками. Как теперь подогнать маску? Ну конечно, вы добавили вершин и порядок. А дальше? Рука распрямилась, складки ушли, и вам снова достаточно первых двух вершин, а нет, дальше вам придется передвигать и все те вершины, что были добавлены! Однако когда вы добавляете вершину в одном из ключевых кадров, ААЕ добавляет ее и в остальные, располагая на том же участке отрезка или кривой таким образом, что это не сказывается на форме маски. И если у вас уже есть анимация грубой маски, добавленные вершины окажутся так же анимированными и потаскав вершины по складкам одежды, после распрямления руки вы можете забыть о них, на всех следующих ключевых кадрах они располагаются по уже анимированным отрезкам (кривым) и не портят маску.

3. Посмотрите на рисунок 11:

Рис.11.

Мне кажется, что на таком фоне легче найти границы изображения рыбки. А сделал я следующее:

         - добавил на Timeline еще один слой с тем же клипом – просто перетащил его из окна проекта и вставил ниже первого слоя, с которым мы работаем;

         - Применил к нему последовательно несколько эффектов: поменял информацию в красном канале цветности на информацию из синего канала (Shift Chanel), увеличил до максимума резкость картинки (Sharpen) и увеличил яркость (Brightnes & Contrast).

Или другой вариант – на второй слой положить яркий синий фон (рис.12). File->Import->Solid…

Рис.12.

Здесь хорошо заметно, что над головой рыбки маска оказалась выше, чем следовало бы, на черном фоне (рис.7.1) этого не заметно.

Часть 2. Наложение вырезанного с помощью масок изображения на другой фон.

Если вы не заметили, то мы уже проделали это, подложив под слой с маской то же видео, обработав его фильтрами, или синий фон.

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

Вот что получилось у меня в результате:

Рис.13.

Использование NULL-объекта

ИСПОЛЬЗОВАНИЕ NULL-ОБЪЕКТА

ШАГ 1
Создаем новую композицию “Column” и создаем там столбец, например из кадров. В данном примере были взяты два Solid слоя. В нижнем 4 маски (кадры), с эффектом Stroke, на верхний наложен Fractal noise и вырезано все это “Luma inverted matte”

ШАГ 2
Создаем камеру

ШАГ 3
Создаем новую композицию “Rotation”.
Помещаем туда композицию “Column”, ставим “галочку” на 3D Layer
В поле Anchor point пишем z = -150

ШАГ 4
Копируем слой из шага 3 “Column” необходимое количество раз (в данном примере 6)
Теперь каждому слою задаем определенный угол поворота (Y Rotation) 0, 60, 120, ...300

ШАГ 5
Создаем Null объект ”, ставим “галочку” на 3D Layer
Анимируем – расставляем ключи (поворачиваем по оси Y)
1-ый кадр Y rotation = 0
N-ый кадр Y rotation = 360

ШАГ 6
Теперь назначаем родительским объектом Null, для чего на таймлайне в столбике “Parent” для каждого слоя “Column” указываем наш Null объект

ШАГ 7
Анимируем камеру.


Ссылка ведет к итоговому файлу (mpg, 2 137 Кбайт)
Наслаждаемся ...