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

How to create new tracker roles #1030

Open
wirelessdreamer opened this issue Dec 23, 2018 · 9 comments
Open

How to create new tracker roles #1030

wirelessdreamer opened this issue Dec 23, 2018 · 9 comments

Comments

@wirelessdreamer
Copy link

The default tracker roles are pretty generic, and do not work for application specific bindings, how do we in an application specific way create new roles:

image

We support multiple custom controllers in game, and want to be able to show their roles so they can be assigned on the binding screen. I'm assuming this is just a documentation issue, and am hoping I missed where its written down.

@dhjhero
Copy link

dhjhero commented Dec 23, 2018

Yes,I am also eager for this functionality so, so much.

@constructive-realities
Copy link

yes this would be very useful for our robotics projects.

@wirelessdreamer
Copy link
Author

To be able to show the roles from VIU would fully fill my needs, as i've extended the existing ones in my project, it would provide a very clean solution.

@dhjhero
Copy link

dhjhero commented Jan 29, 2019

Would you please share your solution?Could you create more than 12 roles with that?

@wirelessdreamer
Copy link
Author

This solution only currently works with pre 2.0 steamvr. a simple starting way is to edit bodyroles.cs, and add more enums, then create your prefabs bound to those roles, and you can use as many as you need. I've never used more the 12 simultaneously though. I thought i remembered hearing about a > 12 limitation somewhere in the steamvr world.

@dhjhero
Copy link

dhjhero commented Jan 29, 2019

Thank you so much!

@kisak-valve kisak-valve transferred this issue from ValveSoftware/steamvr_unity_plugin Jan 30, 2019
@JoeLudwig
Copy link
Contributor

@wirelessdreamer What roles do you want to add?

Right now each role is its own JSON file in SteamVR so they aren't currently developer-extensible.

@lawwong
Copy link

lawwong commented Apr 9, 2019

@JoeLudwig
Applications/Games may want more semantic role names like "Sword", "Shield" or other custom accessories. It should be easier for developers to tell end-user/arcade-staff how to setup their tracking devices.

I also think what developers need is to manage devices them self, not by end user.
In another word, developers would like to do as much automation as possible before build, so that settings can be more easier in runtime (or no further settings ideally).

OpenVR already have action manifest and default action bindings, why not provide role manifest and default role bindings? Or even better, provides API to query all buttons/tracking information from all connected device and also bindings applying functions, so that developers could manage actions/roles when user customized bindings not found.

@wirelessdreamer
Copy link
Author

@JoeLudwig I just saw that i missed your reply before. I've added roles for additional controllers in the software i work with. TacticalAR Rifle, Hyperblaster, Top Shot Elite, Sony Sharpshooter, and other custom controllers i've been doing testing with. each has its own custom rotational offset. to be able to manage those offset positions and rotations, and create new ones without having to make code changes, and to be able to add new ones for games that don't support custom offsets would be the ideal solution i'm looking for. On the same note to make it so when a vive tracker is being used, that the program we're using in can be told its a vive controller, instead of treating it as a tracker is a big stumbling block. Trying to get the Tactical AR Rifle working in fallout 4 hasn't worked so far because of this.

bjornbytes added a commit to bjornbytes/lovr that referenced this issue May 31, 2019
This is not the correct way to expose them.  It doesn't seem like
there is consensus on how to expose them yet.  At the very least
LÖVR should instead use the hardcoded OpenVR tracker paths like
/camera, /keyboard, /foot/left, /foot/right, etc.

See these issues:

- ValveSoftware/openvr#1030
- ValveSoftware/openvr#962
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants