Основные этапы:
- Трекинг камеры по заданным точкам на видео.
- Создание 3D-модели и имитация освещения.
- Рендеринг.
- Композитинг (компоновка картинки и постобработка), цветокоррекция.
Всё это можно делать с помощью бесплатного и открытого Блендера.
Демонстрация процесса, упакованная в короткое видео:
Далее — более подробно о каждом этапе.
1. Трекинг камеры
Camera tracking — это воссоздание передвижения камеры в трёхмерном пространстве. Делается это с помощью отслеживания маркеров — отобранных вручную небольших областей кадра. В идеале это должны быть резкие контрастные участки, но Blender удивительно хорошо справляется со многими довольно размытыми и не очень контрастными маркерами. Зачастую можно удачно обработать даже спонтанно снятое видео.
Для корректного воссоздания сцены также необходимо задать хотя бы приблизительное фокусное расстояние, использованное при съёмке. К сожалению, видеофайл не содержит такой информации, поэтому я сравнивал картинку с фотографиями, сделанными примерно в то же время. Вышло примерно 37,3 мм в 35-мм эквиваленте.
Успех: расположение меток в трёхмерном пространстве похоже на правду, а движения виртуальной камеры повторяют движения реальной, включая тряску.
2. Создание 3D-модели и имитация освещения
В случае с НЛО не требуется особенная проработка модели, если только вы не снимаете его крупным планом.
Модель нужно разместить в подходящем месте, ориентируясь по меткам, оставшимся после трекинга.
С освещением в чистом небе всё просто — крутим параметры процедурной текстуры «Sky» и лампы «Sun» до достижения желаемого результата. Необязательно добиваться идеального соответствия яркости и оттенков — многое можно исправить постобработкой.
3. Рендеринг
На рендеринг одного кадра с помощью видеокарты на базе GeForce GTX 770 уходило всего по 14-15 секунд. Это очень быстро, особенно в сравнении с работой, о которой я рассказывал в прошлый раз. Причина проста: единственный объект в открытом пространстве, занимающий минимальную площадь в кадре — это самый благоприятный случай, который только можно придумать.
Для сохранения отрендеренных изображений использован формат OpenEXR, который хранит подробную информацию о цвете и отлично подходит для последующей обработки.
4. Композитинг, цветокоррекция
Композитинг — это компоновка картинки из составляющих частей и дополнительная обработка. Недостаточно просто наложить отрендеренное изображение на картинку из камеры — оно будет резко выделяться.
В первую очередь необходимо привести в соответствие резкость и различимость деталей — даже в одном и том же разрешении каждая камера снимает по-своему. Отрендеренную картинку нужно специально размыть, а потом искусственно усилить резкость с помощью фильтра (как поступает камера со своим замыленным исходником). Также не помешает некоторое подобие хроматических аберраций и визуального шума (чем лучше камера, тем слабее эти эффекты, но они присутствуют всегда). Ну и, конечно, нужна имитация воздушной перспективы (в данном случае — простое примешивание нужного цвета).
В конце слегка корректируем цветовой баланс, но так, чтобы итоговое видео всё ещё выглядело необработанным материалом из камеры.
Разумеется, подобным образом можно снимать не только НЛО, но и другие разные интересные вещи.
Комментарии (50)
saggid
26.05.2015 13:16-46Люди научились рисовать 3D-объекты, внешне схожие с объектами реального мира, и по этой причине считают теперь себя великими творцами :)
Но ведь если банально приблизить этого «макаронного монстра» на достаточное расстояние, как мы увидим все эти полигоны и пиксели. Не говоря уж о том, что монстр этот полый, и внутри у него ничего нет.
Далековато пока что до реального прототипа, господа. Издалека оно может и похоже, но на большее человек не способен)Invision70
26.05.2015 13:29+11Кажется только вас заинтересовали внутренности «макаронного монстра» :)
mammuthus
26.05.2015 17:01+2>как мы увидим все эти полигоны и пиксели.
Исключительно вопрос вычислительной мощности.
engine9
26.05.2015 17:30+6Спасибо, кэп, но суть любой компьютерной графики и даже класической живописи в созании реалистичного обмана, для человеческого, зрения.
saggid
28.05.2015 00:50-5Как обычно весь хабр меня дружно заминусовал, непонятно даже за что. Чувство человеческой гордости и самолюбия так задело чтоли?)
Сказал Всевышний Аллах в суре Лукман, в 10-11 аятах: «Он сотворил небеса и воздвиг их без опор, как вы это видите, и бросил на землю устойчивые горы, чтобы она не колебалась вместе с вами, и рассеял Он на ней всяких животных, и низвели Мы с неба воду [дождь] и произрастили на ней всякие красивые и полезные пары растений. Таково творение Аллаха! Так покажите Мне, что сотворили все остальные. О нет! Беззаконники находятся в очевидном заблуждении.»
Я лишь указал на мелочность человеческих творений и на то, что не способны они толком даже видимость реального объекта создать, пусть даже и обладают они разнообразными техническими и интеллектуальными ресурсами, благодаря которым они могут попытаться это сделать. Нет же. Очевидно, повторить что-либо из творений Аллаха просто невозможно, слишком различаются уровни созданных и Создателя)
И как написал внизу один из хабрачван, единственное, на что человек способен — это создать некий обман зрения на каком-то определённом ракурсе и расстоянии.mwizard
28.05.2015 02:20+5Сказал Всевышний Аллах в суре Лукман, в 10-11 аятах
Когда вы уже закончитесь все? Это не сайт мусульманской общины, это технический портал. Тут сидят люди с мозгами, а не мусульмане.mrdubz
02.06.2015 12:49+1Это отличный способ самоубийства на хабре. Очень оригинальный, кстати!
mwizard
02.06.2015 12:51Оригинальность хромает. Тут куда не плюнь — попадешь в истово верующего. Скоро подобные изречения будут брать золото.
saggid
04.06.2015 12:09-1Единственное, из-за чего я жалею о том, что полез зарабатывать столько минусов ради своей религии — это невозможность теперь писать разные интересные статьи на Хабре в нормальные разделы, так как модераторы закрыли возможность писать туда посты всем людям с отрицательной кармой. Можно писать только в какую-то барахолку непонятную, но зачем мне это надо?
А так, мог бы я про Riot.js написать много полезного, так как активно работаю сейчас с ним. А про него вообще ни слуху, ни духу на хабре, хотя библиотека более чем хороша и сильно облегчает жизнь фронтенд-девелоперу. Можно было бы еще на тему сравнения Коханы и Laravel что-нибудь написать, так как Кохана в некоторых моментах всё-таки лучше была, чем ныне популярный Laravel. Ну да ладно, меня-то это не сильно парит: мои знания в моей голове лежат, пользу приносят. Карма хабра на неё не влияет. А вот другим людям их теперь передать не получится, к сожалению, хотя хотелось бы.
Prometheus
26.05.2015 14:59-22Нереалистично. Подделка не удалась.
Крыло самолета какое-то не такое. А НЛО — вообще трэш. ИМХОQuiensabe
26.05.2015 15:25+34Крыто самолета — настоящее. Как оно может быть «не такое»?.. :)
DarkByte
26.05.2015 16:05+8Наверное оно сильно хорошо прорисовано здесь, поэтому выглядит как «не такое» относительно игровых симуляторов.
Prometheus
26.05.2015 17:23-5Вот крыло самолета www.youtube.com/watch?v=0lsZM05qHXs
Вот оно 100% реалистично.
А тут я подумываю — а не модель ли это.
engine9
26.05.2015 17:27+17Кстати, интересное проявление эффекта прайминга — мозг считает фейком реальный объект когда ошибочно принял его за графику.
Получается, если реальную фотографию загрузить для критики на форум трехмерщиков то кто-то да увидит «косячные тени», «плохие материалы».
mrvol
26.05.2015 16:32+1Мне кажется вы прокололись с тенью(
Dobby007
26.05.2015 17:06Еще самолет вроде как облетает вокруг горы, а объект не поворачивается с ним. Не?
mrvol
26.05.2015 17:23+1В том то и дело. Объект должен поворачиваться вместе с горами. Можно конечно предположить что он сопровождает цель [самолет] и синхронно направляет пушку чтобы шарахнуть по нему макорониной. Но, лучше бы поворачивался, выглядело бы натуральнее.
datacompboy
26.05.2015 17:30+2А вы посмотрите в HD. ЛММ поворачивается, всё нормально — самолёт облетает его вокруг и это видно
Noxster Автор
27.05.2015 06:11Верно, плюс к этому объект находится дальше, чем горы, поэтому эффект не такой выраженный.
engine9
26.05.2015 17:22+1Б — блестяще!
А как тречить небо как вот в этом ролике? Один из самых лучших фейков, кстати.
www.youtube.com/watch?v=rrrx9izp0LcNoxster Автор
27.05.2015 06:25+1В том ролике вся сцена выполнена в 3D, в ходе интриг и расследований автор давал интервью.
edelweiss76
26.05.2015 19:45+2Любопытно было прочитать, но НЛО с щупальцами ужасно. Может лучше бы смотрелся пример с классической тарелочкой?
Funbit
27.05.2015 04:56-1На рендеринг одного кадра с помощью видеокарты на базе GeForce GTX 770 уходило всего по 14-15 секунд. Это очень быстро
Глядя на современные игры типа GTA 5, где рендерятся фотореалистичные картинки 60 рад в секунду в разрешении 2560х1080, 15 секунд быстрыми совсем не кажутся :)
sith
27.05.2015 04:58+1Мне в 2006 году почти случайно досталась запись новогоднего фейерверка во дворе где я жил. Я, чтобы пощупать технологию трекинга добавил туда всякой ерунды, которая попалась мне под руку :)
youtu.be/24DMqT-1bIk
Orgazmo
27.05.2015 12:33Я бы с удовольствием почитал такой-же поэтапный разбор монтажа, когда перед НЛО находится сложный объект типа дерева. Вот как на этом видео, к примеру:
www.youtube.com/watch?v=Snph22qSUMUsith
27.05.2015 17:38C деревом у них хорошо получилось. Либо просто его от голубого неба цветом отделили (что скорее всего), либо где-то взяли левое дерево и сверху наложили.
А вот с забором уже не так всё гладко прошло, если по кадрам посмотреть, то видны ошибки:
youtu.be/Snph22qSUMU?t=16s
datacompboy
летающий макаронный монстр существует!!!
ababo
Моя вера в Него не нуждается в этих бесовских технологиях!
Meklon
Мне кажется, больше на Overlord'a Зергов похоже)