Уроки Аушвица: VR-проект с Volumetric съемкой. Часть 3

PHYGITALISM
Mar 10, 2020 · 6 min read

27 января был опубликован видео-арт проект, над которым мы работали 2,5 месяца. В этом цикле статей мы расскажем про важные смысловые и технологические аспекты этого проекта и о том, почему не нужно бояться неизвестного.

Часть 1 \ Часть 2 \ Часть 3 \ Часть 4

Время съемок

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

Чтобы сработать слаженно, быстро и правильно, мы должны были провести тщательную подготовку. Мы составили список необходимого оборудования, продумали нейминги в проекте. На предварительной встрече обсудили, как именно будет проходить процесс, какие движения детей нужно заснять, как правильно работать с Tilt Brush, чтобы потом корректно совместить модель рисунка и движения для фейковой смешанной реальности.

Для съемок основной части рисующих в Tilt Brush детей нам были необходимы:

  • VR шлем+контроллеры,
  • камера Azure Kinect,
  • компьютер,
  • внешний SSD (для более оперативной работы и съемки),
  • хромакей/зеленая комната,
  • хороший свет.

Съемка в смешанной реальности (XR)

В сети много примеров красивых видео с людьми, рисующими в VR:

Нашей целью было добиться такого же результата, только с цифровым эффектом (VFX) на людях, а рисунки должны были реагировать на звуки. И все это, конечно, в 4k разрешении.

Во время проведения исследований мы нашли следующие статьи:

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

Один из первых тестов записи с хромакеем

Встроенная возможность съёмки в TiltBrush

В приложении есть специальный режим Mixed Reality, где экран делится на четыре части (начиная с левого верхнего угла): сцена с рисунком после наложения маски, альфа-маска (изображение в градациях серого), изображение с внешней камеры, изображение от первого лица.

Запись экрана при рисовании в режиме смешанной реальности

Из-за разделения экрана на 4 части, съёмку итогового видео можно осуществлять только в разрешении, равном половине разрешения монитора. Поэтому такой способ нам совсем не подходил.

Тогда мы решили, что запишем людей на Azure Kinect отдельно, а рисование в Tilt Brush — отдельно. Для этого в приложении есть режим “Spectator Mode”. Однако, с ним невозможно поставить камеру в сцене точно на то же место, где стоит Azure Kinect, так как двигать ее можно только вручную в шлеме.

Пример съемки в Spectator Mode от третьего лица

Связка Liv + TiltBrush

Первое, что советуют использовать при XR съемке — приложение LIV. Оно позволяет осуществлять запись с реальной камеры и автоматически обрезать хромакей, чтобы совместить человека и его обстановку в VR. Здесь важно правильно провести калибровку контроллеров, чтобы совпадали реальные контроллеры, виртуальные и их изображение на камере. В итоге должна была получиться следующая картина:

Фото с сайта LIV
Наш тест с TiltBrush + LIV

К сожалению, выяснилось, что последнее обновление Tilt Brush перестало стабильно работать с LIV. Мы даже связывались по этому вопросу с разработчиками в дискорде, на что они ответили, что проблема есть, но когда она будет исправлена — неизвестно. В старых версиях он работал хорошо. На этом YouTube-канале собраны довольно подробные инструкции по настройке и записи.

Три контроллера и HTC Vive

Мы рассматривали и другой вариант. У HTC есть интересная возможность использовать три контроллера: реальную камеру можно объединить с контроллером от HTC, воспользовавшись специальными держателями или скотчем :). При подключении третьего контроллера через USB, и настройке его в качестве источника привязки виртуальной камеры в LIV, мы можем перемещать контроллер вместе с реальной камерой, а за ней и виртуальную. Это позволяет делать динамичные ракурсы при съёмке в VR.

Пример того, как можно закрепить контроллер на камере.

Этот вариант казался нам наиболее привлекательным, но мы ещё не знали о проблеме совместимости Azure Kinect и HTC (и то и то оборудование имеет инфракрасное излучение, которое взаимно мешает правильной работе).

Наше решение

Из тестов было понятно одно — такие способы записи нам не подходит. Даже если бы все работало правильно, LIV выдает только 2D видео рисующего ребенка, что исключает возможность создание 3D сцены.

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

Пайплайн съемки был следующий:

1. Мы выстроили камеру Azure и общую композицию в соответствии с планом, где были описаны все нужные дубли и ракурсы;

2. В шлем предварительно была загружена готовая TiltBrush сцена с рисунком. Из нее мы выбирали конкретный объект, который художник должен был прорисовать для конкретного дубля. Объект копировался;

3. В VR сцене мы отмечали положение камеры Azure для дубля. Новый дубль-новый цвет (мы подходили в шлеме к камере, и контролером рисовали стрелку вверх). Это было сделано для того, чтобы потом легко сориентироваться, с какого ракурса был снят дубль в Azure и в каком ракурсе необходимо ставить модель рисунка;

Сцена в Tilt Brush (VR). Стрелка показывает, с какого ракурса мы снимали человека, и в каком ракурсе необходимо подставлять модель. Цвет стрелки и рисунка совпадает по дублям.

4. Сцена с новыми объектами и стрелками сохранялась и экспортировалась. Экспортировать .fbx из OculusQuest нельзя, так как шлем мобильный, и функционал в приложениях довольно ограничен, поэтому мы использовали HTC Vive, экспортировали прямо из папки TiltBrush на компьютере;

5. Далее мы импортировали полученные файлы в Unity 3D, и все дальнейшие работы шли уже там.

Бэкстейдж. Запись рисования. В верхнем левом углу видно камеру.

Что мы узнали во время наших ресерчей?

Во время тестов всплыло много интересных, и иногда совсем неожиданных моментов. О некоторых мы уже рассказали, но хочется подвести итог:

  • Шлем HTC Vive, с которым мы хотели работать, имеет инфракрасный излучатель, такой же излучатель стоит на камере Azure Kinect. Это мешало записи при одновременном использовании. Поэтому мы отказались от Vive в пользу шлема Oculus Quest. В кадре он смотрелся лучше, хоть и всплыли некоторые незначительные проблемы с TiltBrush, например, большие сцены долго прогружались и висли;
  • Камера транслировала съемку на компьютер в DepthKit, благодаря чему мы в реальном времени могли крутить сцену и смотреть разные ракурсы. При работе с Volumetric video рекомендуется использовать Ч/Б маски, на которых удаляется зеленый фон, их делают после съемок. Если маска не используется, DepthKit сам предлагает отделить человека, по данным о глубине. Выяснилось, что некоторые материалы и виды ткани передают неправильную глубину. Особенно проблемы были видны на поверхностях, отражающих свет. Крышку шлема мы заклеивали бумагой, а одеться рекомендовали в джинсы, футболки, толстовки. Костюмная ткань отображалась хуже всего;
  • Снимать видео можно и без хромакея, но в таком случае маску сделать не получится, придется ограничиться данными о глубине, которые иногда подводят. У нас были наиболее благоприятные условия: мы снимали в зеленой комнате с хорошим профессиональным освещением.

Главная сложность во всем проекте — взаимоисключающие способы работы. Например, плохая состыковка используемого софта. На каждом этапе нам было необходимо продумывать, как обойти очередное ограничение, понимать, можем ли мы продолжать работать с выбранными инструментами, или необходимо полностью менять подход.

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

<предыдущая часть \ следующая часть>

Автор

Катя Токсик

toxic@phygitalism.com

instagram: katya.toxic

instagram: phygitalism

PHYGITALISM

Создаем проекты на стыке XR, ML и других интерактивных…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store