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

PHYGITALISM
PHYGITALISM
Published in
6 min readMar 10, 2020

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
PHYGITALISM

We are a young technology company founded in 2015 and currently developing Phygital+, a product for creators combining AI, 3D and XR