Думаю уже все успели прочитать статьи Стефани Огу о Дополненной реальности (AR), которые «помогают нам, веселят нас и просто делают нашу жизнь другой!».

Но, что, если хочется сделать нечто подобное самому, пускай даже не в реальном времени, а на видео? Как реализовать мечту? Для этого мы вновь открываем «абсолютно прекрасный» Blender. Поехали!

 

ТРЕКИНГ КАМЕРЫ

Начнем с ключевых понятий.

Я очень часто буду упоминать слово рендер в разных значениях. РЕНДЕР – это визуализация сцены, которая была полностью просчитана (начиная от лучей света и заканчивая шероховатостью материалов на объектах), т.е. создание плоской картинки из 3D сцены.

Подробнее на https://coremission.net/gamedev/chto-takoe-rendering/

ОТРЕНДЕРИТЬ – значит отобразить проекцию модели на камеру с помощью Blender’a в нужном качестве и виде(видео/картинка и т.д.).

ТРЕКИНГ КАМЕРЫ (отслеживание) – это процесс определения местоположения и ориентации движущегося объекта в виртуальной среде. Отслеживание конвертирует движения на видео в цифровую информацию. Благодаря этому мы можем разместить 3D объекты на видео, даже если камера все время перемещается

Как это делают профессионалы – можно посмотреть  в youtube канале. IanHubert – это тот , у кого есть чему поучиться. Не зря версия программы "Blender 2.83" имела его обложку.

 

 

 

КАК ЭТО БУДЕМ ДЕЛАТЬ МЫ

Нашей целью является создание виртуальной комнаты, которая будет соответствовать отснятому нашему видео, где мы сможем размещать 3D объекты, а виртуальная камера повторит движения той, с помощью которой было отснято видео.

Начнем с веселого. Нам нужна камера и точки контраста. Для этого я просто взял обычный лист бумаги и нарисовал на нем несколько жирных точек – нам нужно минимум 8, так как Blender не "переваривает" меньше. Именно жирные точки – точки контраста, по которым камера и просчитает свое передвижение.  

Теперь снимаем небольшое видео, в каждом кадре которого должен быть виден этот листик. Снятое видео должно быть без расфокусов, затенений и «дрожи в руках» и так далее. Ну, и длительность ролика - не больше минуты, иначе последний этап создания AR затянется.

 

 

Идея состоит в том, что видео нужно загрузить в программу, а затем  либо «руками», либо «дать волю программе» выделить точки, относительно которых программа просчитывает поведение камеры в пространстве, как я уже и говорил, из-за эффекта параллакса.

Синие линии – те линии, по которым будут двигаться точки. Красные – те, которые были пройдены. После полной обработки видео нужно посмотреть, насколько точно программа уверена в точках контраста. Если точку было тяжело просчитать – ее погрешность велика (программа не уверена в положении точки). Такая погрешность должна быть меньше пикселя. 

Когда просчет закончен, можно указать какие точки будут полом (тут достаточно треугольника, то есть трех точек), началом координат. Теперь вспоминаем, что мы вообще хотели: добавить на видео какую-нибудь 3D модель. У меня это будет маскот блендера и куб. Ибо куб - лучше, чем квадрат, на целую координату.

 

 

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

 

РЕНДЕРИНГ

И вот тут приходит дьявол… Допустим у меня есть более масштабная сцена. Рендерил я ее, допустим, 10 минут… Мне нужно для каждого кадра видео отрендерить эту сцену в правильном ракурсе… А кадров у меня 30 в секунду и длительность – 10 минут. Выходит, что рендер легко может занять у меня (для 18 000 кадров – 3000 часов). Поэтому мне тяжело делать очень крутую, детализированную и длительную анимацию, но короткое видео на минуту – вполне реально!

 

 

Рендер этой высоко детализированной сцены занимает на моем компьютере 10 минут…

 

КОНКУРС

Теперь, напоследок, я бы хотел предложить вам интерактив. Вы предлагаете в комментах Инстаграм, что можно было бы сделать на фоне универа, и я попробую сделать самую интересную идею, своими ограниченными силами.smile

 

Жду ваших идей!

Данил Гречишкин

 

 

Популярні статті

Читати далі