Closed krillme-zz closed 5 years ago
Thanks for the suggestions! I plan to have the calibrator run as an overlay (so you can do the calibration in HMD, and autostart as well). Chaperone config can simply be copied for sure, you can do this with OpenVR-AdvancedSettings today, and eventually I'd like to have it in the calibrator too as it's just a couple calls to the OpenVR API.
Unfortunately after further testing it seems SteamVR actually disables it's own chaperone when a competing system is in use. I had my playspaces lined up properly, but there was no chaperone for the controllers. As of right now I can't find a way to reenable the SteamVR chaperone, but I think that's the first step. I'll start looking for a solution and let you know if I find anything.
SteamVR overlay + auto launch is done in https://github.com/pushrax/OpenVR-SpaceCalibrator/commit/5c36f6e9094729fca6e50ec4572072427ee0169c. Keeping this issue open to track chaperone alignment.
Chaperone configuration done in https://github.com/pushrax/OpenVR-SpaceCalibrator/commit/85c6b3cea44ff07e7e2204be3c2bc0dfe94e8adc, see 0.8 release notes for usage. It doesn't fix the lack of interaction between devices in the secondary space and the chaperone, but otherwise it makes the chaperone work correctly.
In my testing with a WMR headset and Vive controllers, the chaperone only works with the HMD. Having no chaperone is a big problem. The solution in my eyes would be to find a way to calibrate the playspaces, because I'd imagine the reason why the chaperone no longer works is because the controllers have been calibrated outside of their original playspace and no longer trigger the chaperone because it's not near it anymore. In theory, you should be able to take already saved information about each system's playspaces (size, orientation, monitor location) and simply plop one playspace on top of the other, which should reenable the chaperone albeit crudely, unless SteamVR disables competing chaperones to save performance. Alternatively, you could copy the coordinates from one playspace to the other and therefore have two identical playspaces, which means you wouldn't have to guess which way the playspace is facing or anything because now it's a perfect copy. Also, I've noticed that while the controllers get calibrated, the basestations do not. They appear wedged into the floor in incorrect locations. Perhaps this could also be a key in fixing the chaperones? Maybe by calibrating the locations of the basestations, it will automatically move the original playspace?
Additionally, the software must be opened manually every time you wish to mix hardware. This could be easily solved by adding it to the SteamVR auto-start list, like OpenVR Advanced Settings. Then, you could have it hide in the taskbar and automatically apply calibrations to any connected controllers. Or, if someone could find a way to auto-load the calibration information through the OpenVR Input Emulator, that would work too.
Thanks for all your hard work.