Почему Beat Saber больше не использует SteamVR?

Beat Saber4 · 37 ratings3.8k views29 favorites3 min readRussianby [OutHvn] QuietWalkerUpdated Aug 16, 2024View on Steam ↗

Что такое OpenVR и OpenXR?

В 2015 году, когда был выпущен шлем HTC Vive Developer Edition, Valve представила OpenVR — комплект разработки программного обеспечения с открытым исходным кодом, который позволял сторонним разработчикам создавать свои проекты для виртуальной реальности. И тогда, и сейчас единственной средой выполнения OpenVR является SteamVR: то есть только ПК, только Steam, только хардкор. Поэтому все выходящие шлемы добавляли поддержку SteamVR, чтобы пользователь имел доступ к самой обширной библиотеке VR-приложений.
Времена шли, и сейчас рынок пестрит десятками VR-шлемов: как портативных, так и стационарных. И каждый производитель, помимо драйвера для SteamVR, создавал собственный SDK, который позволял бы запускать игры в родной среде выполнения гарнитуры: для шлемов Meta это Oculus App, для гарнитур Windows Mixed Reality — Mixed Reality Portal и так далее. Наличие отдельной среды выполнения для каждого устройства позволяло обеспечить максимальную производительность, но было настоящей головной болью для разработчиков, потому что для каждого производителя шлема приходилось интегрировать отдельное SDK.

В 2017 году ребята из Khronos Group (вы можете их знать по таким стандартам как OpenCL, OpenGL, Vulkan) анонсировали, что решат проблему разобщения и унифицируют разработку ПО под AR/VR. И в 2019 году они представляют OpenXR — открытый и бесплатный стандарт доступа к платформам и устройствам виртуальной реальности и дополненной реальности.
Все вот эти ребята поддержали идею унификации стандарта и публично заявили, что будут поддерживать OpenXR:

Пионерами поддержки стандарта выступили Microsoft и Meta, добавив поддержку OpenXR во все свои гарнируты в 2020 году. Позже подтянулись HTC, Valve, Varjo, ByteDance, Magic Leap и другие.
OpenXR изменил ход игры. Теперь разработчикам было достаточно добавить лишь поддержку единственного API, чтобы приложение запускалось на любом устройстве. В свою очередь производители устройств были озабочены тем, чтобы их гарнитуры поддерживали стандарт OpenXR.

Итак, резюмируя вышесказанное: OpenVR и OpenXR это API, с помощью которых ваш шлем виртуальной реальности взаимодействует с программным обеспечением. Для функционирования этих API они должны быть интегрированы в среду выполнения, и для OpenVR есть только единственно доступная — SteamVR, когда OpenXR поддерживает практически любой шлем (кроме Pimax) в своей собственной среде выполнения.

Зачем Beat Saber перешла с OpenVR на OpenXR?

Ответ на этот вопрос вытекает из предыдущего раздела: так просто-напросто проще. Beat Saber — мультиплатформенная игра, которая есть и в Steam, и на платформе Oculus, а с сегодняшнего дня она доступна и на PlayStation VR2. Разрабатывать отдельную версию для Steam, использующую OpenVR для запуска в SteamVR им показалось более не целесообразным, поэтому вместе с обновлением Unity они обновили API Steam-версии игры на OpenXR. Теперь игра будет запускаться у вас в родной среде выполнения шлема, что в теории должно положительно сказаться на производительности (у меня по факту вышло иначе, но это уже отдельная история), ведь теперь игра минует SteamVR, и нагрузка на компьютер меньше.
Но это понесло и свои недостатки: в игре больше не отображаются различные оверлеи (например fpsVR), потому что стандарт OpenXR не поддерживает такой функционал.

Как вернуть запуск через SteamVR?

Вернуть оверлеи очень просто: достаточно лишь изменить среду выполнения OpenXR на SteamVR. Да, в SteamVR можно запускать OpenXR, поддержка API была добавлена в клиент в 2021 году. Но если у вас не Valve Index или шлем Pimax, то делать это нежелательно, потому что это отрицательно скажется на производительности, ведь родная среда выполнения шлема всё равно должна быть запущена.

Если всё таки оверлеи для вас важны или по каким либо другим причинам вы хотите запускать OpenXR через SteamVR, внутри SteamVR перейдите в настройки, нажмите «Показать расширенные настройки» и в разделе «Разработчик» нажмите «Задать SteamVR как среду выполнения OpenXR».

Теперь игра должна запускаться у вас как и раньше. Если вы снова передумали и хотите вернуть среду выполнения OpenXR на родную среду вашего шлема, то запустите её, и сверху вас встретит предупреждающее сообщение с предложением восстановить первоначальные настройки.

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.