Поделиться через


Пример использования — HoloTour

HoloTour для Microsoft HoloLens предоставляет иммерсивные 3D личные туры по знаковым местам по всему миру. Как выяснили дизайнеры, художники, продюсеры, аудио дизайнеры и разработчики, работающие над этим проектом, создание убедительно реальной трехмерной отрисовки известной локации занимает уникальное сочетание творческого и технологического мастера. В этом примере рассматривается процесс записи и создания содержимого, используемого для HoloTour.

Технология

С holoTour мы хотели, чтобы люди посетили некоторые из самых удивительных мест в мире, таких как руины Мачу-Пикчу в Перу или современная Пьяцца Навона в Италии, прямо из своих собственных жилых комнат. Наша команда сделала это целью HoloTour, чтобы "заставить вас чувствовать, что вы действительно там". Опыт должен быть больше, чем просто фотографии или видео. Используя уникальную технологию отображения, отслеживания и звука HoloLens, мы думали, что сможем практически перенести вас в другое место. Нам нужно будет захватить достопримечательности, звуки и трехмерную геометрию каждого места, которое мы посетили, а затем воссоздать их в нашем приложении.

Для этого нам понадобилась установка камеры на 360° с направленным аудиозахватом. Он должен был захватывать в очень высоком разрешении, чтобы кадры выглядели четко при воспроизведении на HoloLens, и камеры должны быть расположены близко друг к другу, чтобы свести к минимуму сшивание артефактов. Мы хотели полного сферического покрытия не только вдоль горизонта, но и выше и ниже вас. Буровая установка также должна быть переносной, чтобы мы могли взять его по всему миру. Мы оценили доступные готовые варианты и поняли, что они просто недостаточно хороши для реализации нашего видения — из-за разрешения, стоимости или размера. Если бы мы не смогли найти буровую камеру, которая удовлетворяла бы наши потребности, мы должны были бы построить ее сами.

Строительство буровой установки

Первая версия, сделанная из картона, Velcro, клейкой ленты и 14 камер GoPro, была чем-то MacGyver гордилась бы. После просмотра всего, от недорогих решений до пользовательских буровых установок, камеры GoPro были в конечном счете лучшим вариантом для нас, потому что они были небольшими, доступными, и имели простое в использовании хранилище памяти. Малый форм-фактор был особенно важен, так как он позволял нам размещать камеры довольно близко друг к другу: чем меньше расстояние между камерами, тем меньше будут артефакты сшивания. Наше уникальное расположение камеры позволило нам получить полный охват сферы плюс достаточно перекрытия, чтобы интеллектуально выровнять камеры и сгладить некоторые артефакты во время процесса сшивания.

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

Наша 360- градусная установка камеры, настроенная для съемок за пределами Пантеона.

Наша 360- градусная установка камеры, настроенная для съемок за пределами Пантеона.

Мы протестировали наш самодельный буровой установки, принимая его до Гремучая змейка хребет недалеко от Сиэтла, захватив пейзажи в верхней части похода. Результат, хотя значительно менее полированный, чем места, которые вы видите в HoloTour сегодня, дал нам уверенность в том, что наш проект установки был достаточно хорош, чтобы вы чувствовали, что вы действительно там.

Мы обновили нашу платформу с Velcro и картона до корпуса камеры с 3D-печатью и купили внешние аккумуляторные пакеты для камер GoPro, чтобы упростить управление батареями. Затем мы сделали более обширный тест, путешествуя в Сан-Франциско, чтобы создать миниатюрный тур по побережью города и знаковых Золотые ворота моста. Эта установка камеры является то, что мы использовали для большинства наших снимков мест, которые вы посещаете в HoloTour.

360° камеры съемок в Мачу-Пикчу.

360° камеры съемок в Мачу-Пикчу.

Сопутствующие ресурсы

Перед съемками нам нужно было выяснить, какие места мы хотели бы включить в наш виртуальный тур. Рим был первым местом, где мы намеревались отправить, и мы хотели, чтобы получить его правильно, поэтому мы решили сделать скаутской поездки заранее. Мы направили группу из шести человек, включая художников, дизайнеров и продюсеров, для личных посещений сайтов, которые мы рассматривали. Поездка заняла около 9 дней – 2,5 для путешествия, остальное на съемки. (Для Мачу-Пикчу мы решили не делать скаутской поездки, заранее исследуя и резервируя несколько дней буфера для съемок.)

Находясь в Риме, команда фотографирует каждый район и отметил интересные факты, а также практические соображения, такие как, как трудно путешествовать в каждое место и как трудно будет снимать из-за толпы или ограничений. Это может показаться отпуском, но это много работы. Дни начинались рано утром и идут нон-стоп до вечера. Каждую ночь, кадры были загружены для команды обратно в Сиэтле, чтобы просмотреть.

Наша команда захвата в Риме.

Наша команда захвата в Риме.

После завершения поездки скаутов был составлен окончательный план для фактической съемки. Для этого требуется подробный список того, где мы будем снимать, в какой день и в какое время. Каждый день за рубежом стоит дорого, поэтому эти поездки должны быть эффективными. Мы забронировали гидов и обработчиков в Риме, чтобы помочь нам и полностью используется каждый день от до восхода солнца и после захода солнца. Мы должны получить лучшие кадры возможно, чтобы вы чувствовали, что вы действительно там.

Запись видео

Выполнение нескольких простых действий во время записи может значительно упростить постобработку. Например, при склеивание изображений с нескольких камер в конечном итоге возникают визуальные артефакты, так как у каждой камеры немного отличается представление. Чем ближе объекты к камере, тем больше разница между представлениями и тем больше будут артефакты сшивки. Вот простой способ визуализировать проблему: держите большой палец перед лицом и посмотрите на него только одним глазом. Теперь поменяй глаза. Вы увидите, что большой палец перемещается относительно фона. Если вы держите большой палец дальше от лица и повторите эксперимент, большой палец будет казаться, чтобы двигаться меньше. Это очевидное движение похоже на проблему сшивания, с которой мы столкнулись: Ваши глаза, как и наши камеры, не видят то же самое изображение, потому что они разделены небольшим расстоянием.

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

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

Грубый разрез Мачу-Пикчу, показывающий цветокоррекцию карта.

Грубый разрез Пантеона кадры перед сшиванием.

Обработка видео

Захват содержимого на 360 градусов — это только первый шаг. Для преобразования необработанных снимков с камеры в конечные ресурсы, которые вы видите в HoloTour, требуется много обработки. Как только мы вернулись домой, нам нужно было взять видео из 14 различных каналов камеры и превратить его в одно непрерывное видео с минимальными артефактами. Наша команда по искусству использовала ряд инструментов для объединения и полировки захваченного кадра, и мы разработали конвейер для максимальной оптимизации обработки. Кадры должны были быть сшиты вместе, цвет исправлен, а затем составной, чтобы удалить отвлекающие элементы и артефакты или добавить дополнительные карманы жизни и движения, все с целью усилить это чувство на самом деле быть там.

Грубый разрез Пантеона кадры перед сшиванием.

Грубый разрез Пантеона кадры перед сшиванием.

Для объединения видео мы использовали средство PTGui и интегрировали его в конвейер обработки. В рамках постобработки мы извлекли еще кадры из наших видео и нашли шаблон сшивания, который хорошо выглядел для одного из этих кадров. Затем мы применили этот шаблон к пользовательскому подключаемого модуля, который мы написали, что позволило нашим видео-художникам точно настраивать и настраивать шаблон стежка непосредственно при составлении в After Effects.

Снимок экрана PTGui, показывающий сшитый пантеон кадры.

Снимок экрана PTGui, показывающий сшитый пантеон кадры.

Воспроизведение видео

После завершения обработки отснятого материала у нас будет простое видео, но оно чрезвычайно большое — разрешение около 8K. Декодирование видео является дорогостоящим, и есть очень мало компьютеров, которые могут обрабатывать видео 8K, поэтому следующей задачей было найти способ воспроизведения этого видео обратно на HoloLens. Мы разработали ряд стратегий, чтобы избежать затрат на декодирование, при этом заставляя пользователя чувствовать, что он просматривает видео целиком.

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

Мы также убедились, что каждый декодированный пиксель используется наиболее эффективно. Мы экспериментировали с методами сжатия, чтобы уменьшить размер видео; мы разделяем области видео в соответствии с многоугольниками геометрии, на которые она будет проецирована; Мы настроили UV и перепаковали видео в зависимости от того, сколько деталей включены различные многоугольник. Результатом этой работы является то, что началось как один 8k видео превратилось во много блоков, которые выглядят почти неразборчиво, пока они не будут должным образом перепроектированы в сцене. Для разработчиков игр, которые понимают сопоставление текстур и упаковку uv, это, вероятно, будет выглядеть знакомо.

Полное представление Пантеона перед оптимизацией.

Полное представление Пантеона перед оптимизацией.

Правая половина Пантеона, обработанная для воспроизведения видео.

Правая половина Пантеона, обработанная для воспроизведения видео.

Пример одной области видео после оптимизации и упаковки.

Пример одной области видео после оптимизации и упаковки.

Еще один трюк, который мы использовали, — избежать декодирования видео, которое вы не просматриваете активно. В HoloTour вы можете увидеть только часть всей сцены в любой момент. Мы декодируем видео только в пределах вашего поля зрения (FOV) или вскоре за его пределами. Когда вы вращаете голову, мы начинаем воспроизводить области видео, которые сейчас находятся в вашем FOV, и прекращаем воспроизведение тех, которые больше не находятся в нем. Большинство людей даже не замечают, что это происходит, но если вы быстро развернетесь, вы увидите, что видео займет секунду, чтобы начать. Тем временем вы увидите статическое изображение, которое затем исчезает в видео, как только оно будет готово.

Чтобы эта стратегия работала, мы разработали обширную систему воспроизведения видео. Мы оптимизировали низкоуровневый код воспроизведения, чтобы сделать переключение видео чрезвычайно эффективным. Кроме того, мы должны были закодировать наши видео особым образом, чтобы можно было быстро переключаться на любое видео в любое время. Для этого конвейера воспроизведения потребовалось значительное время разработки, поэтому мы реализовали его поэтапно. Мы начали с более простой системы, которая была менее эффективной, но позволила дизайнерам и художникам работать над опытом, и медленно улучшили его до более надежной системы воспроизведения, что позволило нам отправить на окончательный бар качества. Эта окончательная система имела пользовательские инструменты, которые мы создали в Unity для настройки видео в сцене и мониторинга обработчика воспроизведения.

Воссоздание объектов ближнего пространства в трехмерном режиме

Видео составляют большинство того, что вы видите в HoloTour, но есть ряд трехмерных объектов, которые появляются рядом с вами, такие как картина на Пьяцца Навона, фонтан за пределами Пантеона, или воздушный шар вы стоите в для воздушных сцен. Эти трехмерные объекты важны, потому что человеческое восприятие глубины очень хорошо близко, но не очень хорошо далеко. Мы можем уйти с видео на расстоянии, но чтобы позволить пользователям ходить вокруг своего пространства и чувствовать, что они действительно там, близлежащие объекты нуждаются в глубине. Эта техника похожа на то, что вы можете увидеть в музее естественной истории : изображение диорамы, которая имеет физическое озеленение, растения и образцы животных на переднем плане, но отступает в хитро маскированную матовую картину на заднем плане.

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

Другие активы, как фонтан за пределами Пантеона, являются реальными объектами, которые существуют в местах, где мы снимаем видео, но чтобы вывести эти объекты из видео и в 3D, мы должны сделать ряд вещей.

Во-первых, нам потребуются дополнительные сведения о каждом объекте. Находясь на месте для съемок, наша команда захватила много эталонных кадров этих объектов, чтобы у нас было достаточно подробных изображений, чтобы точно воссоздать текстуры. Команда также выполнила фотограмметрия , которая создает трехмерную модель из десятков двухd изображений, давая нам приблизительные модели объекта в идеальном масштабе.

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

Пантеон кадры с фонтаном удалены. Он будет заменен на трехмерный ресурс.

Пантеон кадры с фонтаном удалены. Он будет заменен на трехмерный ресурс.

В заключение

Очевидно, что для создания этого содержимого было больше, чем то, что мы обсуждали здесь. Есть несколько сцен, которые мы хотели бы назвать "невозможными перспективами", включая поездку на воздушном шаре и бой гладиаторов в Колизее, который занял более творческий подход. Мы рассмотрим их в следующем примере.

Мы надеемся, что совместное использование решений для некоторых из более сложных проблем, с которыми мы сталкивались в рабочей среде, полезно для других разработчиков, и что вы вдохновлены использовать некоторые из этих методов для создания собственных иммерсивных возможностей для HoloLens. (И если вы это сделаете, обязательно поделитесь им с нами на форуме по разработке приложений HoloLens!)

Об авторах

Дэвид Хейли Дэвид Хейли является старшим разработчиком, который узнал больше о камерах и воспроизведении видео, чем он считал возможным от работы над HoloTour. Дэнни Аскью Дэнни Аскью является видео художник, который убедился, что ваше путешествие через Рим было как можно безупречно.
Джейсон Сильтебо Джейсон Сильтебо аудио Designer, который убедился, что вы можете испытать звуковой пейзаж каждого назначения вы посещаете, даже когда вы вернетесь назад во времени. Трэвис Штайнер Трэвис Штайнер является дизайнером, который исследовал и разведывал места, создавал планы поездок, и руководил съемками на месте.

См. также раздел