"Отрывание" объекта маской в 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.