{{blogList.blogTitle}}

Смешанная реальность (MR) против виртуальной реальности (VR)

После релиза шлемов виртуальной реальности HTC Vive и Oculus Rift, VR стала одной из самых обсуждаемых тем в мире высоких технологий. Продажи новейших моделей персональных компьютеров, поддерживающих VR, растут всё стремительнее. Как производитель игровых ноутбуков с тридцатилетним опытом, компания MSI рекомендует использовать материнскую плату с чипсетом Intel B150 (или выше) в сочетании с видеокартой NVIDIA GeForce 1070. Или же просто приобретите новейший десктоп AEGIS TI, разработанный специально для погружения в виртуальную реальность и обладающий портом VR Link на передней панели. Таким образом вы гарантируете себе наилучшие впечатления от соприкосновения с VR.

На этой странице странице вы найдёте полный список наших продуктов VR Ready. Если ваш компьютер удовлетворяет необходимым требованиям, то наша предыдущая обзорная статья (УСТРОЙСТВА ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ ДЛЯ МАССОВОГО РЫНКА: ПРИГОТОВЬТЕСЬ К РЕВОЛЮЦИИ В ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ) поможет сориентироваться в мире новых VR гаджетов. Другая наша статья (БУДУЩИЕ ИГРЫ ДЛЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ, НА КОТОРЫЕ СТОИТ ОБРАТИТЬ ВНИМАНИЕ) даст вам общее представление о последних VR играх, доступных для заказа. Кроме того, компания MSI выпустила собственную VR-игру MSI Electric City, распространяющуюся бесплатно в Steam.

А теперь давайте поговорим о том, как создаётся видео смешанной реальности, чтобы познакомится ближе с возможностями, которые скрывает эта самая технология, Mixed Reality (MR). Вот несколько видео, иллюстрирующих основную концепцию: 
(Представленный ниже контент взят из блога The CY  и размещается по согласию автора.)

 (Обзорный видеоролик HTC Vive SteamVR)

 (Обзорный видеоролик Tilt Brush)

 (Обзорный видеоролик Sound Stage)

 


Шаг первый: Заказываем оборудование, знакомимся с концепцией

Список устройств для организации MR

Если у вас уже есть HTC Vive и компьютер, готовый для встречи с MR, вероятно, вы потратили около $900 на покупку всего оборудования из приведённого выше списка — за исключением видеокамеры. В зависимости от торгового посредника, эти покупки могли обойтись вам дешевле.

Как это работает:

Существует несколько игр на базе Unity, задействующих смешанную реальность. Например, Space Pirate Trainer, Job Simulator, Zenblade или Tilt Brush. Возможность записи игрового процесса в MR появляется после подключения третьего контроллера и создания специального конфигурационного файла. Третий контроллер нужен, чтобы определить расположение видеокамеры: эта информация необходима для моделирования виртуальной среды. При этом видеосигнал от камеры обрабатывается таким образом, что игровое пространство становится видимым не только игроку — через шлем, но и стороннему наблюдателю — на экране. Совмещение реальностей, которое видит наблюдатель, производится в реальном времени при помощи программного обеспечения Open Broadcaster Software (OBS).

image007

 (Источник: Как создать видео смешанной реальности при помощи шлема HTC Vive — с двумя контроллерами)

 

Шаг 2: Добавляем хромакей

Зелёный экран в студии нужен для того, чтобы на видео можно было «подменить» зелёный фон за объектами съёмки (например, за игроком) на игровое пространство. Вам понадобятся как минимум три отдельных полотна ткани, чтобы в одном из углов комнаты покрыть ими обе стены и пол. Прикрепить ткань на стены можно при помощи реек, но сделать это нужно так, чтобы на линии стыка одно полотно оказалось наложено на другое. Закончив со стенами, покройте оставшейся тканью пол. Для лучшего эффекта каждое полотно следует натянуть, чтобы избежать появления складок. Даже освещение внутри вашей студии может улучшить качество совмещения реального и виртуального видео.

SONY DSC

 

Шаг 3: Подключаем устройство видеозахвата

Устройство видеозахвата (компьютерная плата или внешнее устройство) требуется для подачи видеосигнала на обработку в приложение OBS. Обычно установка такого устройства представляет довольно утомительную задачу, поскольку для этого нужно открывать корпус компьютера. Мы купили устройство захвата GC550 LGX, поскольку его можно подключить через шину USB. Помните, что вам не обязательно покупать такое же оборудование, подойдёт и более дешёвая альтернатива из моего списка).

SONY DSC

 

Шаг 4: Создаём конфигурационный файл

Скопируйте расположенный ниже текст в «Блокнот» и сохраните его под именем externalcamera.cfg. Убедитесь, что исходное расширение заменено на “.cfg”. Или же просто скачайте готовый конфигурационный файл, кликнув здесь. Скопируйте этот файл в директорию, где располагается ваша MR игра (среди игр, поддерживающих такой способ, значатся Space Pirate Trainer, Job Simulator, Zenblade и Tilt Brush).

image013

x=0
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
//m=-0.999059,0.015577,-0.040472,-0.0127,-0.016016,-0.999816,0.010544,0.1799,-0.040301,0.011183,0.999125,-0.0846
sceneResolutionScale=0.5

Шаг 5: Помещаем третий контроллер рядом с камерой

Третий контроллер нужен, чтобы система могла точно определять положение видеокамеры. Поэтому нужно поместить его возле камеры и, в процессе съёмки, расположение контроллера относительно камеры не менять. Обычно современные видеокамеры снабжены креплением типа "горячий башмак", к которому может быть подсоединён специальный зажим для контроллера. Также контроллер можно установить непосредственно на крепление для внешней вспышки. Мы использовали камеру Sony HDR-CX405, установленную на штативе. Контроллер нам удалось закрепить на специальном L образном выносе, совместив его с держателем для iPad (по размеру он подошёл идеально).

SONY DSC

Лучше всего закрепить контроллер горизонтально, как показано ниже, поскольку это значительно упростит дальнейшую настройку.

image017

(Источник: "> Трейлеры к смешанной реальности: за кадром )

 

Шаг 6: Подключаем контроллеры в особом порядке

Плагин Unity автоматически определяет третий контроллер как контроллер положения видеокамеры, поэтому контроллеры следует подключать в следующем порядке:

  1. Убедитесь, что все контроллеры отключены от компьютера.
  2. Запустите SteamVR, затем закройте это приложение.
  3. Подключите контроллеры 1 и 2 (те, что не закреплены на камере). На этом этапе вам нужно просто их активировать — нажать кнопку над диском.
  4. Запустите SteamVR и убедитесь, что контроллеры 1 и 2 распознаны.
  5. Подключите контроллер 3 через шину USB.
  6. Убедитесь, что контроллер 3 успешно распознан.

Выполнение действий в таком порядке должно обеспечить корректное определение системой расположения видеокамеры.

 

Шаг 7: Запускаем игру в режиме смешанной реальности

При подготовке материала для этой статьи мы выбрали MR-игру Space Pirate Trainer. Убедившись, что конфигурационный файл скопирован в директорию игры, запустите её, соблюдая следующую инструкцию:

  1. Проверьте, все ли контроллеры распознаны системой Lighthouse.
  2. Зажмите Shift и запустите игру двойным кликом.
  3. Выберите наивысшее разрешение, доступное для вашей системы.
  4. На этом этапе MR-игра должна запуститься в стандартном режиме, и один из контроллеров не должен быть распознан.
  5. Наденьте VR-шлем и нажмите триггер (на контроллерах в ваших руках, под указательным пальцем) несколько раз, пока контроллеры 1 и 2 не отобразятся в игровом пространстве.
  6. Если изображение на экране вашего компьютера разделилось на четыре отдельных сегмента, то можно поздравить вас с успешным переходом в пространство Mixed Reality.

 

image019

(Четыре сегмента на экране компьютера: слева вверху — передний план, слева внизу — вид от камеры (с позиции контроллера 3), справа вверху: задний план, справа внизу — вид от первого лица)

 

Шаг 8: Настройка программного обеспечения OBS

Этот пример проводился на мониторе Full HD (1080p):

  1. Подключите выход вашей камеры ко входу устройства видеозахвата.
  2. Скачайте и запустите приложение OBS (скачать OBS Studio можно здесь)
  3. Нажмите “+” → “Video Capture Device” (устройство видеозахвата) в меню Source (источник) и включите камеру.
    Device (устройство): выберите ваше устройство видеозахвата (я использовал AverMedia GC550).
    Resolution/FPS type (разрешение/частота кадров): Custom (пользовательские установки).
    Resolution (разрешение): выберите разрешение вашей реальной камеры (моя камера снимает в разрешении 1920×1080).
    Когда изображение с камеры возникнет в окне приложения OBS, нажмите Confirm (подтвердить).
    image021
  1. Щёлкните правой кнопкой мыши на названии вашего устройства захвата, выберите Filters (фильтры), и затем левой кнопкой “+” → “Add a new Chroma Key/Color Key” (добавить новый цвет хромакея) → “Key Color” (цвет хромакея) → в поле Type (тип цвета) выберите “Green” (зелёный) и отрегулируйте параметры Similarity (близость цвета) и Smoothness (плавность цветовой границы) таким образом, чтобы зелёный цвет полностью исчез.
    image023

 

  1. Запустите вашу игру в режиме MR, после чего нажмите “+” → добавьте окно захвата “Window Capture” и выберите окно с запущенной игрой.
    image025

 

  1. Правой кнопкой мыши щёлкните на окне захвата, выберите Filters и добавьте новый фильтр Crop с параметрами Top и Right, чтобы убрать все экраны, кроме нижнего левого. После того как вы расширили и отцентрировали окно, вы сможете увидеть вашу игру на фоне.
    image027

 

  1. Повторите действия, изложенные в пункте 6, применительно к переднему плану, удалите чёрный при помощи фильтра Color Key и выровняйте изображение с фоном. Помните, что порядок должен быть следующим: 1 — передний план, 2 — камера, 3 — фон. И, в завершение всего, вам нужно выполнить синхронизацию камеры и контроллера.
    image029

 

Шаг 9: Синхронизация камеры и контроллера

Это последний и самый трудный шаг. Файл externalcamera.cfg содержит информацию о расстоянии между камерой и контроллером Controller 3, угловом отклонении между их осями и актуальном секторе обзора камеры. Идеальная синхронизация всей системы может быть достигнута лишь благодаря корректной настройке всех параметров в файле. Итак, как же это сделать:

SONY DSC

(Положение и направление камеры должно совпадать с контроллером, как это было показано выше)

 

  1. Измерьте расстояние между камерой и контроллером относительно его горизонтальной оси (X), вертикальной оси (Y), оси направления (Z), а также угол наклона контроллера относительно оси объектива (по-хорошему, этот угол должен составлять 0 градусов, но у меня получилось закрепить контроллер только под углом 16.5°)
    image033

    SONY DSC

 

  1. Вычислите вертикальный сектор обзора камеры. Этот параметр вычислить не так просто, как кажется на первый взгляд, поскольку данные об обзорности камеры из её официальных характеристик, скорее всего, не являются вертикальным сектором обзора. Керт Гартнер (Kert Gartner) предложил калькулятор, которым пользуются более профессиональные пользователи. Я использовал несколько иной метод, чтобы вычислить обзорность своей камеры, его я объясню далее. Здесь я приведу несколько значений вертикальной обзорности для некоторых камер:
  1. Вставляем свои собственные значения.
    Откройте файл externalcamera.cfg при помощи Блокнота и вставьте значения, которые только что измерили. Значения для параметров X, Y и Z записываются в метрах, а для параметров rx, ry и rz (наклон) — в градусах.

    Приведу пример собственных вычислений. Разница между положением камеры и контроллера по оси X у меня составила 2 см, по оси Y — 17 см, по оси Z — 2 см и угол наклона контроллера —16.5 градусов. После ввода всех данных, сохраните файл.

x=0.02                      
y=-0.17
z=0.02
rx=16.5    
ry=0
rz=0
fov=42.7
near=0.1
far=100
//m=-0.999059,0.015577,-0.040472,-0.0127,-0.016016,-0.999816,0.010544,0.1799,-0.040301,0.011183,0.999125,-0.0846

sceneResolutionScale=0.5

  1. Запустите игру и проконтролируйте, чтобы она появилась в окне приложения OBS. Выключайте и включайте игру, делая соответствующие корректировки до тех пор, пока изображение не станет корректным. Если вы измерили все указанные выше параметры аккуратно и точно, времени на тонкую синхронизацию игры и реальности уйдёт совсем не много. Настоятельно рекомендуем не пренебрегать точной настройкой, так как именно она позволит добиться идеальной синхронизации.
  1. Если вам не удалось вычислить вертикальную обзорность вашей камеры на Шаге 3, представьте, что параметры XYZ и rxyz уже выставлены правильно, после чего начните их корректировать большими шагами. Как только вы получите характеристики обзорности, начните медленно корректировать значения, пока они не станут похожими на действительность. Далее вы можете вернуться к точной настройке параметров xyz и rxyz. Это может занять немало времени, но более быстрой и удобной альтернативы на этом этапе попросту нет. Именно поэтому так важно выполнить корректные замеры на Шаге 1 и 2. Это позволит вам сэкономить солидный объём времени, когда вы будете выполнять точную настройку обзорности вашей камеры.
  1. После выполнения вышеуказанных шагов процесс синхронизации реальной и игровой картинки будет выполнен, и вы сможете приступить к записи или стримингу вашей MR-игры через приложение OBS.

 

 (Этот видеоролик я сделал в ходе тестирования. Если бы у меня было немного больше времени на точную настройку, я бы смог продемонстрировать более качественный результат.)

------------

 Благодарим автора The CY за неоценимый вклад в развитие технологии смешанной реальности.