Toisin kuin vaikka Oculus-visiireissä tai PlayStation VR2:ssa, joissa kaikilla käyttäjillä on sama ohjain, PC-pohjainen SteamVR-alusta tukee monia erilaisia ohjaimia, joissa on erilaiset syöttöasettelut. HTC Viven kanssa voi käyttää esimerkiksi Valve Indexin ohjaimia ja toisinpäin.
Useimmat VR-kehittäjät eivät tietenkään voi aktiivisesti tukea kaikkia mahdollisia ohjaimia, joten SteamVR:ssä on vankka ohjainten bindausjärjestelmä, jonka avulla käyttäjät voivat luoda syöteasetuksia eri peleihin ja jakaa niitä Steam Workshopissa.
Syöttöasetusten manuaalinen määrittäminen tai etsiminen VR-pelin pelaamiseksi voi kuitenkin olla melko vaivalloista, ja se on kaukana itsenäisen ja konsoli-VR:n ”se vain toimii” -kokemuksesta.
SteamVR 1.26 -päivityksessä Valve on siis ottanut käyttöön automaattisen uudelleenbindauksen OpenXR-nimikkeille, jotka käyttävät SteamVR Inputia.
Näin Valve kuvailee ominaisuutta:
Nyt kun pelistä puuttuu bindaus ohjaimellesi, SteamVR luo automaattisesti uuden sidonnan, konfiguroi sen yleisempään ohjaimeen perustuen ja asettaa sen simuloimaan kyseistä ohjaintyyppiä.
Ohjainohjaimen kehittäjät voivat määrittää luettelon eri ohjaimista, joista he haluavat käyttää bindauksia, sekä ohjeet siitä, miten ohjain voidaan siirtää ohjaimesta toiseen. Jos esimerkiksi pelissä on näppäinbindaukset Oculus Touch -ohjaimille, mutta käytät Windows Mixed Reality -ohjaimia, SteamVR määrittää Oculus Touchin liipaisintyylisen otteen käyttämät toiminnot uudelleen WMR-ohjaimen painiketyyliseen otteeseen. Jos kehittäjä päättää luoda natiivin bindauksen ohjaimellesi, SteamVR siirtyy siihen heti, kun se on saatavilla. Tämä ominaisuus toimii kaikissa OpenXR:ää ja SteamVR Inputia käyttävissä nimikkeissä.
Tältä näyttää täydellinen lista muutoksista ja korjauksista:
Full SteamVR 1.26 Changelog
SteamVR:
- Added automatic rebinding for controllers without native bindings. For SteamVR Input and OpenXR games we will attempt to rebind to a supported controller type.
- A handle has been added to the dashboard, allowing it to be positioned in space. The position is reset whenever it is summoned.
- Dashboard recenter button now recenters both seated and standing universes, instead of just the current universe of the scene application.
- Fixed a bug that caused audio devices with emojis in the name to break the settings UI.
- Fixed a bug that caused low framerates with 3rd party headsets while using AMD graphics cards if hardware was unplugged/replugged after session start.
- Added new tracker roles: Wrist (L/R), Ankle (L/R)
- Added ‘autoremapping’ to the Automatic Rebinding files to simplify component remapping.
- The binding UI’s style has been refreshed.
- Display an error when any required actions haven’t been bound, instead of failing silently.
- Improved performance of workshop binding loading.
- Fixed ”Show Old Binding UI” button not working in controller settings.
OpenXR:
- The recenter button now affects OpenXR applications.
- The XrEventDataReferenceSpaceChangePending event is now sent when the playspace is recentered.
- OpenXR applications that use XR_REFERENCE_SPACE_TYPE_STAGE when calling xrLocateViews will immediately switch to using the same chaperone visiblity rules as OpenVR standing experiences, where the chaperone will appear when the hmd or controllers get close to the origin.
- OpenXR applications that use only XR_REFERENCE_SPACE_TYPE_LOCAL for longer than 3 seconds when calling xrLocateViews will use the same chaperone visibility rules as OpenVR seated experiences, and the chaperone won’t display while the user is within a 1m radius of the origin.
- The runtimeVersion instance property is now set to the current SteamVR version.
- Re-enabled instance creation even if there is no active hmd available. This is unrelated to headless mode, and is instead used so that an application can make the appropriate calls to understand that no HMD is currently connected.
- Fixed crash on some Unity games when there is no active hmd available.
- Implemented XR_HTC_vive_wrist_tracker_interaction extension.
- Conformance test fixes (properly check valid but unsupported view config type, correctly recognize negative xrTime input).