Создаем шлем виртуальной реальности своими руками

Шлем виртуальной реальности — шикарный гаджет, который многим не по карману, но о котором мечтают почти все геймеры планеты ;) В продолжении поста подробная инструкция по изготовлению шлема своими руками и его настройке. Сложно, но вполне возможно! Смотрим дальше!







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 650 и старше (для работы GameStream)
3. Хороший WiFi роутер

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

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

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

3. Сборка

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







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



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



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

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



5. FreePIE

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



Скрипт который я использовал. Для старта отслеживания нужно нажать клавишу «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. Vireio Perception

Vireio Perception не более стабильный набор драйверов чем FreePIE, но работает вполне прилично.



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



7. Играем!

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



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

Отсюда