Совмещение живого видео и 3D в пакете 3DStudio MAX
Андрей Евдокимов, www.render.ru
Данная статья не претендует на гениальность, это всего лишь попытка описать
технологию и общие принципы композитинга с применением программ трехмерного
моделирования.
С появлением компьютерного композитинга у киношников, рекламщиков, 3D художников
появились огромные возможности для создания потрясающих спецэффектов. Сейчас
на экране возможно поместить в реальный мир любое порождение воспаленной фантазии
дизайнера 8-)) и это будет смотреться реально, трехмерные объекты будут ЖИТЬ
в реальном мире, или, наоборот, можно живого человека закинуть в какой-нибудь
фантастический мир, изготовленный в каком-нибудь МАХ-е или Лайтвейве.Примеров
этому - великое множество. Достаточно вспомнить такие фильмы, как Звездные Войны,
Матрица, Годзилла... Да что я вам все перечисляю, лучше меня знаете ;-)).
Многие считают, что для создания таких (или почти таких) спецэффектов необходимо
оборудование, компьютеры, программы, которые стоят миллионы долларов, но это
не совсем так. На самом деле для этого вполне достаточно обычной видеокамеры,
компьютера и программы трехмерного моделирования, например, 3D Studio Max.
Из всего спектра областей применения композитинга выделим две, которые нас наиболее
интересуют:
-В живую сцену внедряются трехмерные элементы.
-В трехмерную сцену внедряются 8-)) реальные предметы или персонажи.
Итак, вперед на мины.
Предположим, мы захотели создать сцену, в которой по комнате летает шар из ртути,
а в него некто ведет прицельный огонь, которым срывает картину на стене. Мы
наваяли шар, задвигали его,сделали пули и осколки, отскакивающие от стен, взяли
видеокамеру, наснимали комнату,перевели видео в формат, перевариваемый компьютером,
и что? При совмещении видео и нашего шара получилось нехорошее слово: картина
не хочет висеть на стене, она витает где-то независимо от движений камеры. Так
вот, для синхронизации движения реальной камеры и виртуальной разработчики 3D
Studio Max создали классную вещь - Camera Tracking. Эта вещь находится во вкладке
Create/Utilites/More/Camera tracker. Осталось разобраться, как с ней работать.
Принцип отслеживания движения (Motion tracking) основан на привязке контрольных
точек к контрастным объектам в реальной сцене. Другими словами, необходимо,
чтобы в кадре было достаточно объектов, имеющих четкие контрастные области небольшого
размера. Это могут быть шарики для настольного тенниса, кусочки белой бумаги,элементы
рисунка на стене, и т.д. Перед съемкой места будущей трагедии нам понадобится
зарисовать план комнаты. Необходимо нанести на план расположение стульев,столов
их размеры, высоту и длину стен, короче, образмерить всю область съемки. Затем
надо наметить не менее 6 точек, которые впоследствии будут использоваться для
привязки виртуальной камеры к реальной, и занести их на план. Контрольные точки
должны располагаться в разных плоскостях ,и так, чтобы перекрывать область,
где впоследствии мы планируем поместить трехмерные объекты. Очень важно как
можно точнее измерить взаимное расположение контрольных точек. Чем выше точность
измерения, тем лучше будет результат.
Итак, Мы образмерили комнату и нанесли на план контрольные точки. Теперь можно
сказать МОТОР! и заснять на видео охоту за шаром 8-)). При съемках важно, чтобы
в каждый момент в кадре было не менее 6 контрольных точек. Мы сделали это! Теперь
вся работа будет проходить, так сказать, In House, в смысле, дома.
При сливе материала с видеокамеры в компьютер необходимо помнить, что надо добиться
максимального качества видеоматериала. В идеале весь клип должен представлять
последовательность tga, или Avi без сжатия. Если такой возможности нет - придется
воспользоваться кодеком, который наименее портит видеоизображение при сжатии.
Теперь начинается самое главное - процесс трекинга:
1. Открываем проект с нашим шаром, загружаем туда отснятый видеофрагмент как
бэкграунд.
2. Согласно плана расставляем в сцене объекты CamPoint, находящиеся во вкладке
Create/Helpers/Camera March. Объекты CamPoint должны находиться там, где в реальности
находились контрольные точки. Главное - точное взаимное расположение объектов
CamPoint друг относительно друга.
3. Переходим во вкладку Create/Utilites/More/Camera tracker. Заходим в Movie
file. Загружаем туда видеофрагмент. Он появляется в отдельном окне. Если вы
капчурили видео с полями, надо активизировать опцию Deinterlace.
4. Переходим в подменю Motion trackers. Там жмем на кнопку New tracker. В окне
с видеофрагментом появится маркер, состоящий из двух квадратов один внутри другого.
Перемещаем маркер так, чтобы он накрыл собой первую контрольную точку. Уменьшаем
внутренний квадрат, чтобы в нем была только контрольная точка. Теперь необходимо
привязать маркер к CamPoint: в поле Tracker setup нажимаем на Scene object,
после чего выбираем CamPoint, соответствующий данной контрольной точке.
5. Повторяем предыдущий пункт для каждой контрольной точки.
6. У нас есть объекты CamPoint, привязанные к маркерам, которые находятся на
контрольных точках видеофрагмента. В меню Create/Utilites/More/Camera tracker
переходим в подменю Batch track, где и нажимаем кнопочку "Cоmplete tracking".В
окне отображения видео мы видим, как маркеры повторяют движения контрольных
точек на видео. Если все прошло нормально, переходим к следующему пункту, если
нет (не все маркеры следуют за контрольными точками) - выделяем нужный маркер,
в подменю Motion trackers активизируем опцию Subpixel tracking. Чем больше число
- тем точнее идет трекинг, и тем больше на это требуется времени.
7. Теперь нам необходимо создать Free Camera (не Target). В подменю Match move
жмем на Camera, затем на только что созданную Free Camera. Жмем на кнопку Match
Move. Все! Готово!
8. Закрываем вкладку Camera Tracking. Активизируем созданную Free Camera - Она
повторяет все движения реальной!
9.Остается только прорендерить ролик.
Как можно увидеть, теперь наш шар смело уворачивается от пуль, картина висит
на стене. Вот только тени не отбрасывает. Не проблема! Создаем Box, располагаем
его там, где у нас пол, другой Box - на место стены. Присваиваем им материал
типа Matte/Shadow с включенной опцией Recieve Shadows, и все. Тут возникает
проблема с тем, что наш шар всегда находится на переднем плане, даже тогда,
когда он должен быть заслонен стулом. И это не проблема! Вы не забыли, что образмеривались
не только контрольные точки, но и столы со стульями? Так вот, строим модель
стула по размерам, располагаем его согласно плана , присваиваем ему материал
типа Matte/Shadow, рендерим....
Автор статьи готов ответить на все ваши вопросы, буде таковые возникнут. Пишите
на mail@andy.vrn.ru
|