Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SteamVR Tracker support #47

Open
kfarr opened this issue Apr 3, 2019 · 1 comment
Open

SteamVR Tracker support #47

kfarr opened this issue Apr 3, 2019 · 1 comment
Milestone

Comments

@kfarr
Copy link

kfarr commented Apr 3, 2019

(not sure if this is the right location for this ticket so please inform me if it needs to be moved)

I am encountering difficulty in implementing HTC Vive Trackers in the current WebVR 1.1 standard. I'm curious how this is proposed to be supported in WebXR.

Here are the issues:

  • WebVR 1.1 browsers appear to expose controllers (and trackers) as an array accessible through Navigator.getGamepads()
  • There is inconsistency with how WebVR 1.1 browsers expose the trackers:
    -- Firefox sometimes exposes them, sometimes they are assigned handedness, sometimes not, unclear pattern to this behavior
    -- Exokit only explicitly exposes vive wands, does not expose trackers (related ticket SteamVR tracker support exokitxr/exokit#884)
    -- Supermedium has similar behavior to Firefox
  • Further complicating things, Valve changed the behavior around managing inputs approx Oct 3 2018 during this release (search for "tracker") https://steamcommunity.com/games/250820/announcements/detail/3213772926319522701
  • In Oct 10 2018 Valve introduced a built-in end-user-accessible SteamVR tool for Vive Tracker Mapping. This allows the end-user to map a "role" to a tracker such as "Left Foot" or "Right Hand". (this also created confusion which led to them to release a blog post about these changes)
  • WebVR 1.1 browsers do NOT appear to pass the controller "role" that is set by the end-user using the new SteamVR Input Mapping configuration, making it impossible for WebVR applications to use specific trackers with reliability aside from random and/or rewriting a temporary mapping tool within the web application.

The ask for WebXR spec is to expose "role" that controllers may have as determined by SteamVR that allow targeting specific trackers from a web application.

@kfarr kfarr changed the title HTC Vive Tracker support - v2.0 HTC Vive Tracker support Apr 3, 2019
@kfarr kfarr changed the title HTC Vive Tracker support SteamVR Tracker support Apr 3, 2019
@kfarr
Copy link
Author

kfarr commented Apr 3, 2019

To help figure out how to map this, here are the possible values for controller "role" currently accessible from Unity using official SteamVR component:
55454451-d7780a80-5594-11e9-9ea9-3172ffbe7914

There is still ongoing debate about how this should be handled at the SteamVR/OpenVR layer:
ValveSoftware/openvr#962

Here is a nice blogpost from the SteamVR team explaining how input / controller management was a big overhaul for SteamVR 2.0 in September 2018:
https://steamcommunity.com/games/250820/announcements/detail/1696059027982397407

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants