Темой виртуальной реальности я понемножку интересуюсь уже давно. Несколько лет назад я уже публиковал блог о том, как из телефона и дешевого пластикового корпуса можно сделать такую себе вполне приличную VR-приблуду.
Но годы идут, а VR развивается крайне медленно. Интересных игр почти нет, а те, что есть – просто порты успешных проектов (Skyrim VR, SUPERHOT VR и т.д.). Есть, конечно, VRChat, но это уж слишком специфическая штука. В общем, не избалованы любители виртуальной реальности годнотой. Но так было до весны 2018 года и релиза Beat Saber.
В чем суть Beat Saber? Это ритм-игра с вручную прописанными уровнями, где вам надо разрубать световыми мечами кубы под ритм музыки. Разрубать их надо под разными углами, при этом еще и уклоняться от стен и бомб. Вроде бы, концепция – проще не придумаешь, да и ритм-игр уже вагон и маленькая тележка. Но VR меняет всё – рубить несущиеся на тебя кубики налево и направо, отпрыгивая от препятствия, входя в раж от задорного саундтрека, и всё это – в виртуальной реальности – такое развлечение полюбилось быстро и очень многим. Вокруг Beat Saber быстро собралось внушительное комьюнити, народные умельцы начали создавать свои уровни под кастомную музыку, некоторые из которых могли посоперничать по качеству с официальными. К игре стали выходить DLC с треками от известных исполнителей – Imagine Dragons и Panic! At the Disco.
Вашему покорному слуге довольно давно хотелось прикоснуться к прекрасному, но осознание того, что для нормальной игры нужен полноценный комплект типа Oculus Rift или HTC Vive, стоимость которых, мягко говоря, высоковата для рабоче-крестьянского класса , рушило все надежды.
Идея попробовать Beat Saber была погребена под толстым слоем различных более актуальных тем, пока совсем недавно я случайно не вспомнил о развитии одной программы, которая позволяла SteamVR (приложению-помощнику для VR-игр Стима) распознавать подключенную к ПК ту самую кустарную гарнитуру из смартфона и какого-нибудь корпуса с линзами, как настоящий Oculus/HTC-шлем. Вот тут-то и промелькнула идея о создании дешевого набора для игры в Beat Saber.
И всё заверте…(с). В общем, началось строительство эпичнейшей ерунды, которую я окрестил “VR-набор для экономных (название не окончательное)”. Так как в свое время в основы темы я уже влез, начать было просто. Итак, по порядку.
1) Самое главное, что нужно для игры в виртуальной реальности – как ни странно, шлем виртуальной реальности. О том, как его создать, и что для него нужно, я уже писал в том самом блоге, отмечу лишь самые важные детали:
- при выборе пластикового корпуса по возможности проверяйте, как он сидит на голове, регулируется ли фокус и межзрачковое расстояние, и не давит ли он на нос и скулы. Играть в динамичные, да и вообще в любые “большие” игры, если шлем постоянно спадает, картинка расплывается/двоится, или через 5 минут начинают болеть все кости лица – занятие для мазохистов.
- по моему мнению, смартфон должен быть с экраном разрешением не меньше FullHD и размером не меньше 5,5 дюймов. Всё, что ниже и меньше – не подарит вам хоть сколько-нибудь полноценных VR-впечатлений. Еще желательно, чтобы и железо в нем было более или менее мощным, для стабильной трансляции довольно тяжелого видеосигнала. Для отслеживания положения головы обязательно наличие гироскопа и акселерометра.
2) Окей, шлем мы раздобыли. Теперь озаботимся подключением его к ПК. Первым этапом подберем нужную программу. Их существует несколько, наиболее популярных – две:
-Trinus VR – с большим количеством сложных настроек, зато может переводить в VR вообще любую игру, даже не предназначенную для этого (я ей не пользуюсь по причине того, что мне оно нафиг не надо)
-RiftCat (VRidge) – простенькая, но эффективная. Подходит для игр в SteamVR и для отдельных билдов для Oculus SDK (туда же – не совсем лицензионные копии) – именно ей я и пользуюсь.
Задача этих программ – заставить компьютер и Steam в частности думать, что наш кустарный шлем – на самом деле полноценный VR-комплект, а также транслировать изображение с ПК на телефон. Трансляция может осуществляться двумя способами – по Wi-fi или по USB-кабелю. Для нормального функционирования беспроводной трансляции необходим мощный wi-fi сигнал с высокой скоростью и минимальным пингом, чего крайне сложно достичь (по моим экспериментам, 30-40 Мбит/с с пингом 5мс НЕ хватает. Сколько надо, чтобы хватало – неизвестно, ибо я в этом вопросе ограничен), любое отклонение от идеальных значений выдаст артефакты и жесткую задержку. Поэтому для себя я выбрал способ с USB-подключением. Да, лишний шнур, зато надежно и стабильно.
Изначально, трансляция в программе ограничена 5 минутами. Если зарегистрировать бесплатный аккаунт, это время увеличится до 10 минут. Чтобы разблокировать неограниченную трансляцию, программу придется купить (RiftCat стоит 15$). Если время одной непрерывной трансляции без покупки строго лимитировано, то количество этих трансляций не ограничено ничем, можно подключаться и отключаться на 10 минут сколько угодно раз.
Для работы RiftCat нужно скачать клиент себе на ПК, а также программу VRidge на свой телефон, и сконнектить их (это делается очень просто, программа на ПК по сути делает всё сама, да и в интернете есть куча официальных гайдов). Дальше немного настроек по качеству трансляции и вуаля – дело в шляпе, то есть в шлеме!
3) Чтож, телефон-шлем мы подключили, трансляцию настроили. А что делать с управлением? Вот это самая каверзная часть. Для большинства VR-игр достаточно простой эмуляции VR-контроллеров, доступной в той же RiftCat. Контроллер можно сделать из клавиатуры с мышью, или, например, из геймпада от XBOX360.
Но в Beat Saber нужно строгое отслеживание положения в пространстве обоих контроллеров (теоретически, возможно играть и одним мечом, но “одноруких” уровней мало, и они все сразу по умолчанию на сложности “эксперт”). Такой эмуляции программа, к сожалению, не предоставляет. И тут наши средства весьма ограничены.
Вариант №1. Купить настоящие контроллеры от Oculus Rift, HTC Vive или еще что-то подобное, они легко и спокойно определятся SteamVR, и дело с концом. Цены на них начинаются от 150$ минимум. Прямо скажем, под описание “набор для экономных” такие растраты не подходят.
Вариант №2. Оригинальные приблуды вроде камеры Leap Motion, которая крепится прямо к шлему и отслеживает положение самих рук (и даже отдельных пальцев). Стоит куда дешевле контроллеров, но для отслеживания руки должны быть в максимально неестественном положении (на уровне головы), да еще и присутствует небольшая задержка, портящая впечатление от сверхбыстрых игр, коей является Beat Saber
Вариант №3. Купить комплект контроллеров от PlayStation - PS Move и несколько (минимум 3) специальных камер PlayStation Camera. Найти их можно на вторичном рынке достаточно недорого. Подключение весьма замороченное, но гайдов от народных умельцев в интернете хватает.
Контроллеры PS Move
И, наконец, используемый мной Вариант №4. RiftCat может эмулировать VR-контроллеры из смартфонов с гироскопом с помощью отдельно устанавливаемой на телефон программы VRidge Controller. Вам нужно найти еще два смартфона с гироскопами, установить на оба программу и подключить к общей сети. Подключение, опять же, либо беспроводное по wi-fi, либо проводное по USB. Проводное, конечно, стабильнее и без задержек, но это еще два дополнительных провода, что сильно ограничивает удобство. Беспровод, с другой стороны, подвержен лагам и задержкам, но требования к контроллерам гораздо менее суровые, чем к трансляции картинки. Моих 30-40 Мбит/с с пингом 5мс хватает для почти безлаговой передачи сигнала. Для пущей эффективности, я подключит USB-wi-fi адаптер (в народе – свисток) прямо к ПК, и расшарил свой же проводной интернет выделенной wi-fi сетью (функция “мобильный хот-спот” доступна в Windows 10 по умолчанию).
Скриншот программы VRidge Controller с телефона-"контроллера"
Итого, для игры в VR-игры, требующие активного отслеживания контроллеров (в т.ч. Beat Saber), мне понадобились: ПК с установленным специальным софтом, три смартфона с гироскопом, пластиковая коробка в качестве самого шлема и средства подключения телефонов к ПК (USB-кабель, wi-fi адаптер). Учитывая, что телефоны у меня уже были в наличии (спасибо моей привычке хранить старый хлам), траты были совсем копеечные, в сравнении со стоимостью полноценных VR-шлемов. При этом, качество картинки, за счет хорошего и большого экрана моего “основного” смартфона, немногим уступает “большим братьям”.
4) А теперь, что касается самой Beat Saber. В идеале, игра легко покупается в Steam и запускается через SteamVR. Или не покупается (но я ни в коем случае не поддерживаю пиратство). В базовой версии пара десятков треков, плюс еще столько же в разнообразных DLC. Но, чтобы модифицировать игру, а главным образом, добавлять кастомные уровни и песни, нужно устанавливать моды. Для этого есть несколько способов, самые простые – уже готовые программы для этого. Их много, но лично я пользуюсь BeatDrop, на мой взгляд она максимально простая – задаешь папку с установленным Beat Saber, ищешь через поиск нужную музыку, качаешь в один клик, и она появляется в игре.
BeatDrop - программа для модификации Beat Saber
К сожалению, мой “VR-набор для экономных” не отслеживает положение тела в пространстве, поэтому достоверно улавливать все прыжки от препятствий игра не может. Но здесь уже включается воображение: я просто представляю, что мои движения считываются, и все равно прыгаю и пригибаюсь =)
Ну и вот немного видео-геймплея того, что у меня вышло (да, я нуб, поэтому играю на easy, чтобы не позориться на запись). Периодические артефакты - это баги видеокодека, обеспечивающего трансляцию. Пока я не нашел способа их победить, но играть они нисколько не мешают, во время игры их не замечаешь.