Nvidia + Nexus 7 + две лупы + коробка = VR шлем

в 21:52, , рубрики: diy или сделай сам, Oculus Rift, Oculus VR, virtual reality, Гаджеты. Устройства для гиков, метки: , ,

Добрый день! В интернете уже накопилось достаточное количество статей по сборке DIY VR шлемов и хабр тому не исключение. Но в большинстве случаев при сборке используются смартфоны с относительно не большими дисплеями, что не позволяет получить широкий угол обзора. Сегодня же мы будем собирать шлем на основе Nexus 7, потратив всего 600 рублей в ближайшем гипермарките. Ну и т.к. главный лозунг этой статьи «Меньше теории, больше практики», хватит лишних слов, начинаем!

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

0. Предисловие

Данная статья написана по просьбам пользователей. Написана она быстро, на коленке, как и сам шлем. Но в ней я постараюсь рассказать всё от начала и до конца. Прошу заметить, данный шлем не совместим с нативными приложениями Oculus Rift, а все фотографии были сделаны просто для «истории», но впоследствии использованы в статье, ч.т. не обессудьте.

1. Идём по магазинам

И так. Первое, что нам нужно сделать это купить всё нужно. Я буду рассматривать именно свой случай, но ничего не мешает вам применить смекалку и свои инженерские навыки в проектировании вашего варианта шлема.

Мой список покупок:

  • 1. Цианоакрилат, по простому суперклей. 2шт = 60руб.
  • 2. Коробка для инструментов на 11" = 120 руб.
  • 3. Маска для сварки = 70 руб.
  • 4. 2 коврика для мыши = 80 руб. (или тонкий поролон)
  • 5. Тянущаяся лента. 2 метра = 150 руб. (Покупается в любом швейном магазине)
  • 6. Лупы на 5 крат, диаметром 65мм. 2шт = 120 руб.

А ещё вам понадобятся:

  • 1. Nexus 7
  • 2. Nvidia GTX 660 и старше (для работы GameStream)
  • 3. Хороший WiFi роутер

Советую измерить или взятьпланшет с собой в магазин. Он будет нужен для примерки к коробке на месте и выбора оптимальной. Расстояние от линз у нас будет порядка 6см.

2. Тестируем линзы

Я использовал обычные линзы от 5-кратных луп. Как ни странно они показали наилучшие показатели при тестировании. Расстояние до экрана в данном случаи равно ~6-7см. Можно использовать и другие линзы. Мной были протестированы стекла с 6 и 8 кратным увеличением, угол обзора в этом случае становится выше, но глазу гораздо труднее сфокусироваться. В любом случае, совету сразу протестировать и прикинуть нужное расстояние! Настоятельно рекомендую тестировать уже на играх с драйверами Virieo Perception. Настройку их мы рассмотрим немного ниже. Демо под Android совершенно не предназначены для работы на планшетах и вы можете потратить очень много времени подбирая расположение линз, а затем обнаружить, что при трансляции с ПК картинка двоится. Единственное приложение которое хорошо заработало на планшете это DiveCityCoaster. Я использовал обычную коробку. Во время теста выяснилось, что держатель стёкол от сварочной маски вполне подходит и для крепления моих линз.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

3. Сборка

Я использовал паяльник с тонким стержнем для резки пластика, вы можете использовать пилку или нож, в зависимости от плотности пластика. При склейке деталей советую их ошкуривать, особенно это касается резиновой маски.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

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

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Теперь закрепляем ремни. Советую его делать «Т» образным т.к. шлем с планшетом внутри будет весить порядочно и весь его вес будет давить на вашу переносицу. Тестируем! Подопытная не жалуется. Вот и отлично!

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

4. Настройка GameStream

Данная технология позволяет стримить картинку на планшет с очень хорошим качеством и практически без задержек. Для её работы потребуется видеокарта Nvidia GTX 650 и старше. Данная технология разрабатывалась для консоли Nvidia Shield, но с помощью приложения Limelight можно использовать практически любой планшет или телефон. И так, устанавливаем последнюю версию драйверов и ставим галку на GeForce Experience. Запускаем приложение, добавляем нужные нам приложения и включаем GameStream в настройках. На планшете запускаем Limelight и добавляем компьютер введя его IP адрес. Выбираем в Limelight качество стрима и тестируем. Сразу скажу, на стареньком роутере стандарта 802.11n 150Мб нормально отказывалась работать трансляция качества 720р, что меня и подтолкнуло к давно назревшей покупке нового устройства. Был куплен роутер на 300Мб, после его установки, заработала трансляция 1080р при 60fps.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

5. FreePIE

FreePIE является очень глючным и непредсказуемым ПО, но после нескольких часов войны с ним, был написан небольшой скрипт и обнаружено большинство подводных камней. По пунктам. 1. Обязательно устанавливайте на планшет apk идущий в комплекте дистрибутива. В сети много версий приложений для Android поддерживающих FreePIE, но не одно у меня работать не смогло. 2. После запуска скрипта внутри FreePIE и запуске Virieo Perception не в коем случае не переводите фокус на окно FreePIE, иначе оно обязательно зависнет. 3. На планшете не включайте режим Debug, при попытки свернуть приложения в этом режиме оно обязательно зависнет. В обычном режиме приложение нормально работает в фоне.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Скрипт который я использовал. Для старта отслеживания нужно нажать клавишу «Z».

def update():
   global yaw
   global roll
   global pitch
   yaw = android[0].googleYaw + math.pi
   roll = android[0].googleRoll
   pitch = android[0].googlePitch

if starting:
   yaw = 0
   roll = 0
   pitch = 0
   enabled = False
   android[0].update += update

deltaYaw = filters.delta(yaw)
deltaPitch = filters.delta(pitch)
deltaRoll = filters.delta(roll)

if math.fabs(deltaYaw) >= math.pi:
   deltaYaw = 0

if (enabled):
   mouse.deltaX = deltaYaw*1280	
   mouse.deltaY = deltaRoll*900

toggle = keyboard.getPressed(Key.Z)

if toggle:
   enabled = not enabled

Тестируем, если мышка слушается, берёмся за последний пункт.

6. Virieo Perception

Virieo Perception не более стабильный набор драйверов чем FreePIE, но работает вполне прилично. На главной странице официального сайта Virieo находится давно устаревшая версия, последнюю сбоку можно найти тут.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Запускаем и выбираем «RiftUP!», данный драйвер позволяет настроить положение изображений по осям XY, настроить его скалирование, а главное смешать его относительно центра. Меню во время игры вызывается сочетанием клавиш Ctrl+Q, но настоятельно рекомендую вам проситать мануал идущий в комплекте с ПО.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

7. Играем!

После настройки можно начинать играть. Лично у меня нормально запустились Mirror's Edge и Portal 2. А вот Left 4 Dead 2 зависал во время старта. Остальное пока не пробовал. Заявленный список поддерживаемых игр находится тут. Всё вышеописанное запускалось на Windows 8.1 64bit. Стабильность работы ПО в целом оставляет желать лучшего, особенно после общения с Oculus Rift.

Nvidia + Nexus 7 + две лупы + коробка = VR шлем

Oculus Rift я тестировал и могу сказать, что полученное качество не на много хуже оригинала, но отсутствие совместимости и постоянные проблемы с драйверами заставляет рассматривать полученное устройство только как средство хотя бы немного приобщиться к VR эре и с нетерпением ждать выход Oculus Rift и Project Morpheus на рынок.

Небольшое видео с демонстрацией работы устройства. Предвосхищая ваш вопрос о наклоне планшета. Отвечаю, вставлен так из-за спешки, во время игры сдвигается до упора внутрь.

Надеюсь, данная информация была для вас полезна. С удовольствием отвечу на интересующие вопросы.
Спасибо за внимание!

Автор: PlazmX

Источник

  1. User:

    Интересно, а можно-ли подобное устройство соорудить для 10-ти дюймового планшета? Нигде не нашел подобного эксперимента.

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


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