Ты в 3D от третьего лица: Oculus Go + Raspberry Pi

в 8:01, , рубрики: AR и VR, diy или сделай сам, oculus go, Raspberry Pi, raspberry pi compute module, stereo vision, stereopi, virt2real, virtual reality, Разработка на Raspberry Pi

image
кпдв

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

И решили мы мозг наш слегка потроллить:
— картинку отдать в 3D, пусть будет немножко погружения
— убрать мышки, джойстики и все такое — просто рулим своим телом
— камера закреплена сзади-сверху на спине и перемещается вместе с человеком

О результатах этого веселого эксперимента я и решил сегодня рассказать.

image
Примеры видов от третьего лица в компьютерных игрушках

Железо

Стереокамера получилась из двух широкоугольных камер для малины (Waveshare G), платы StereoPi и Raspberry Pi Compute Module 3. Для компактной упаковки был напечатан корпус на 3D принтере и на лазерном резаке сделана пластина для крепления камер.

image

Снизу приклеили эпоксидкой гайку как ответку для крепления на штатив. Также сделана простая конструкция для размещения камеры в нужном ракурсе (трубы ПВХ, треугольная основа — вспененный полистирол). Благородства конструкции придала покраска жидкой резиной из баллончика «антигравий».

image
Устройство в корпусе с гайкой под штатив и крепеж на спину

Софт

Софт под эту затею пилил Серега Gol, впервые попробовав на зуб кодинг под Oculus Go. В итоге самым простым решением оказалось сделать обычное приложение под Android, и засунуть его в Oculus Go в девелоперском режиме. Приложение пытается в локалке найти стереокамеру и, если находит, то автоматом начинает показывать с нее картинку. Разумеется еще остались нюансы для допила (типа поддержки джойстика и другие мелочи), но для текущего теста хватило и такой реализации.

Чтобы картинку могли наблюдать еще и окружающие, а не только человек в Oculus, в ту-же сеть был подключен ноутбук, отображавший видео. На нем использовали утилитку scrcpy, перекинув подключение окулусов с USB шнурка на сетевое.

В итоге окружающие могли видеть такую стереопару:
image

На борту малины работает наше приложение. По части видео оно берет у raspivid захваченную стереокартинку и шлет в эфир. Попутно выполняет множество сервисных функций типа автобнаружения в сети и подхвата настроек через админку.

Небольшое видео с испытаний:

Выводы:

  • Это весело. Реально весело.
  • Наш мозг — великая сила. Несколько десятков секунд — и мы себя уже вполне неплохо чувствуем в другой реальности.
  • Первые секунды людей надо страховать от падений. Не у всех адаптация происходит одинаково легко и быстро.

Автор: Realizator

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js