This helps you use tracked VR devices from one company with any other. It aligns multiple tracking systems with a quick calibration step. It may not work for your setup, but there are many cases that work to a degree, and some work very well.
There is a community of a few thousand on Discord and a newer community on Reddit. You may find the answer to your question in the wiki.
A quick video of how this works using an old version (~v0.3) is available at https://www.youtube.com/watch?v=W3TnQd9JMl4. The user interface has been upgraded since then; the calibration is now done via a SteamVR dashboard menu, and there's much more configurability.
Before following the directions below, download and run the installer for the latest release. This will automatically set up SteamVR for use with multiple tracking systems (activateMultipleDrivers: true
). There are many guides that say you need to edit the SteamVR config manually. You do not.
Once Space Calibrator has a calibration, it works in the background to keep your devices configured correctly. Since v0.8, everything aside from creating the calibration is automated.
This fork supports continuous calibration. This means that there are two ways to calibrate:
Use this if you do not have a tracker on your VR headset.
As part of first time setup, or when you make a change to your space (e.g. move a sensor), and occasionally as the calibration drifts over time (consumer VR tracking isn't perfectly stable), you'll need to run a calibration:
Copy the chaperone/guardian bounds from your HMD's play space. This doesn't need to be run if your HMD's play space hasn't changed since last time you copied it. Example: if you're using the Rift with Vive trackers and you bump a Vive lighthouse, or if the calibration has just drifted a little, you likely don't need to run this step, but if you bump an Oculus sensor you will (after running Oculus guardian setup again).
Copy Chaperone Bounds to profile
Calibrate devices.
Start Calibration
Use this only if you have a tracker on your VR headset.
Continuous calibration allows you to calibrate playspaces continuously, eliminating the need to do any of the work above.
Start SteamVR with the VR headset you wish to use.
Turn on ONLY the tracker which is attached on the VR headset.
Select the VR headset and tracker and calibrate.
Turn on your other devices.
You should see them line up with you as you after moving around your playspace for a bit for an initial calibration.
You can calibrate without using the dashboard overlay by unminimizing Space Calibrator after opening SteamVR (it starts minimized). This is required if you're calibrating for a lone HMD without any devices in its tracking system.
Open OpenVR-SpaceCalibrator.sln
in Visual Studio 2017 and build. There are no external dependencies.
See math.pdf for details. If you have some ideas for how to improve the calibration process, let me know!