Awesome
VL.IO.OpenVR
A VL wrapper for Valve's OpenVR that enables the use of Vive trackers inside vvvv without a HMD. It heavily borrows from VVVV.OpenVR by Tebjan Halm.
Using the library
In order to use this library with VL you have to install the nuget that is available via nuget.org. For information on how to use nugets with VL, see Managing Nugets in the VL documentation. As described there you go to the commandline and then type:
nuget install VL.IO.OpenVR
Try it with vvvv, the visual live-programming environment for .NET
Download: http://visualprogramming.net
How to setup SteamVR to be able to use trackers without HMD
¡Note! the changes below will likely be overwritten by SteamVR updates. There are supposed to be user specific settings that are left untouched by updates but I couldn't find any detailed info on that.
-
Close SteamVR if it's currently running.
-
Open this file in a text/code editor:
C:\Program Files (x86)\Steam\config\steamvr.vrsettings
-
Add this to the
steamvr
section:
"forcedDriver": "null",
"activateMultipleDrivers": "true"
-
Then open:
C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\null\resources\settings\default.vrsettings
-
Change the value for enable from
false
totrue
. -
Warning: Having the borderless mirror window open can cause Windows to crash [during Play Mode in Unity, idk if this also applies to vvvv]. To avoid this, remove the following lines of code from
default.vrsettings
:"windowX": 0, "windowY": 0, "windowWidth": 2160, "windowHeight": 1200,
You can always select Display VR View from the SteamVR menu if you ever need to see the null HMD view separately. That one won't crash. (Neat feature for when you're trying to figure out if SteamVR can see your trackers but vvvv can't - you'll be able to see them floating in there)
-
Launch SteamVR. You should now have a “Standing by” status message instead of the annoying “Headset not detected”. (If you're still getting HMD complaints at this point, either you're too far in the future and things have slightly changed, or your SteamVR needs an update.)
-
Right-click the SteamVR status window, select
Developer > Developer Settings
, then scroll down to the Room and Tracking section and click “Quick Calibrate”. This will get rid of the “Please perform room setup” popup. -
You can dismiss the headset notice about "Direct Display Mode".
-
(Recommended) In Settings under the Video tab, enable Show Advanced Settings, then set “Pause VR when headset is idle” to
Off
. -
(Recommended by a few forums due to a memory leak?) In Settings under the General tab, disable SteamVR Home.
The base stations don't to talk to SteamVR the way that trackers do - their SteamVR indicators only start lighting up once a tracker is recognized and "sees" the base station. They're basically just (distinguishable, thanks to being on different channels) beacons of light that the trackers look at in order to orient themselves. So if your base stations aren't being found after you followed their setup, just troubleshoot the trackers.
For the trackers, you do need a Bluetooth dongle - typically 1 for each tracker. Vive sends one dongle with each tracker, but it looks like Tundra ships you a bundle of trackers with one super dongle that can talk to all 3 or 4 of them.
Make sure you have the dongle(s) plugged into your PC, then go to SteamVR > Devices > Pair Controller
and select Tracker (or "I want to pair a different type of controller" if that's still there) from the options. It'll walk you through the rest on-screen - pretty much just pressing and holding the power button for each tracker until it goes into pairing mode.
Troubleshooting the trackers
If VIVE Tracker (3.0) turns off by itself, it could be due to one of the following reasons:
- The battery is drained.
- Pairing has timed out after being idle for more than 30 seconds.
- No movement has occurred for more than 5 minutes.
Note: You can set how long VIVE Tracker (3.0) waits idle before turning off.
In SteamVR > Settings > Startup / Shutdown
set the time in "Turn off controllers after".
Find additional info in the Tracker 3.0 FAQ.
Pogo Pins
If you need input from pogo pins, the tracker needs to be configured as handheld. It then no longer is listed as tracker but as controller unfortunately.
For more info please refer to:
- https://developer.vive.com/documents/850/HTC_Vive_Tracker_3.0_Developer_Guidelines_v1.1_06022021.pdf
- https://github.com/ValveSoftware/steamvr_unity_plugin/issues/152
- https://github.com/ValveSoftware/steamvr_unity_plugin/issues/484
License
MIT
<sub>Depends on Valve's OpenVR SDK please see their license for further details.</sub>