[REQ] Interfacing propreitary HMD tracking with SteamVR?
-
- One Eyed Hopeful
- Posts: 1
- Joined: Mon Mar 21, 2016 8:54 am
[REQ] Interfacing propreitary HMD tracking with SteamVR?
I have an HMD with a tracker that sends data messages over a USB serial connection at 120Hz. These messages contain azimuth, elevation and roll, X, Y and Z values amongst other things. How would I take this data and use it with a service such as SteamVR which would allow me to use it in the same way as an oculus rift? All the information on developer APIs that I can see are for people making games, not people trying to use their own HMDs!
-
- Certif-Eyed!
- Posts: 655
- Joined: Tue Jul 31, 2007 6:52 am
- Location: Canada
Re: [REQ] Interfacing propreitary HMD tracking with SteamVR?
You could make an OSVR plugin for the HMD head tracker and use SteamVR-OSVR, an OSVR plugin for SteamVR, to make SteamVR games use your head tracker plugin.
I've never tried SteamVR-OSVR so I can't help with that.
I've tried to make an OSVR plugin for a head tracker however. You can make one from the example code in :
OSVR-Core\examples\plugin\selfcontained folder
OSVR-Core\examples\plugin\org_osvr_example_Tracker.cpp
OSVR-Core\examples\plugin\org_osvr_example_Tracker.json
A good example is OSVR-Oculus-Rift. For a more basic example, you can take a look at TrackerV2-OSVR that I wrote (the tracking still needs some work but it shows what needs to be done overall).
After that, you need to place a json settings files in the bin folder of the OSVR snapshot and load it with the OSVR server (osvr_server.exe mysettings.json). That file configures OSVR for the HMD resolution and distorsion, enables/disables direct mode, enables/disables timewarp, etc. For an auto-configured plugin like TrackerV2-OSVR, you don't have to enter any configuration to load the plugin, you only need to put the dll file in osvr-plugins-0 folder.
I've never tried SteamVR-OSVR so I can't help with that.
I've tried to make an OSVR plugin for a head tracker however. You can make one from the example code in :
OSVR-Core\examples\plugin\selfcontained folder
OSVR-Core\examples\plugin\org_osvr_example_Tracker.cpp
OSVR-Core\examples\plugin\org_osvr_example_Tracker.json
A good example is OSVR-Oculus-Rift. For a more basic example, you can take a look at TrackerV2-OSVR that I wrote (the tracking still needs some work but it shows what needs to be done overall).
After that, you need to place a json settings files in the bin folder of the OSVR snapshot and load it with the OSVR server (osvr_server.exe mysettings.json). That file configures OSVR for the HMD resolution and distorsion, enables/disables direct mode, enables/disables timewarp, etc. For an auto-configured plugin like TrackerV2-OSVR, you don't have to enter any configuration to load the plugin, you only need to put the dll file in osvr-plugins-0 folder.