Представленная в январе 2020 года вместе с Unity 2019.3, новая модульная система Unity XR Plugin «из коробки» работала с Apple ARKit, Google ARCore, Microsoft Windows Mixed Reality, Magic Leap, Oculus и PlayStation VR. Разработчики движка «напрямую» взаимодействовали с представителями этих платформ над интеграцией и оптимизацией. Побочным эффектом оказалась блокировка новых функций и обновлений от тех, кого в прямом взаимодействии не было.
Среди обделённых оказался API OpenVR, без которого трудно представить рынок виртуальной реальности. Valve пошла другим путём: она воспользовалась появившейся в движке возможностью самостоятельно написать плагин под свои нужды и представила его, выложив код на GitHub.
Valve называет текущую версию бетой и предупреждает, что разработчикам не стоит выпускать на ней коммерческие проекты. Система ввода ещё не завершена, работает на основе симуляции контроллеров и не может создавать действия (Action). Это значит, что SteamVR не умеет переназначения элементы управления, а также отсутствие доступа к API Skeletal Input.
В следующих версиях этот недостаток исправят, а пока инженеры предлагают обходные пути:
Мы создали прежние кастомные привязки и подключили их к системе ввода Unity, чтобы предоставить вам индивидуальный доступ к как можно большему количеству датчиков контроллера. Вы можете изменить эти привязки в игровом режиме, перейдя в интерфейс SteamVR, Menu, Settings, Controllers, Manage Controller Bindings и Custom. Они сохраняются в папке вашего проекта по адресу Assets/StreamingAssets/SteamVR/[bindings].json. Мы включили привязки по умолчанию для различных поддерживаемых контроллеров SteamVR.
Если вы хотите, чтобы ваш контроллер был включён в этот список по умолчанию, пожалуйста, создайте запрос на нашем GitHub с вашей предпочтительной прежней привязкой и компоновкой системы ввода Unity.
Не пропускайте важнейшие новости о дополненной, смешанной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК, Twitter и Facebook!
Далее: Unity WebXR Exporter: экспорт веб-приложений виртуальной реальности из Unity