Open nanospork opened 6 years ago
As coordinate space transformations, these would seem simple enough. We'll have to test if orientation behaves differently with the base station facing down for ceiling mode. If it's to be auto detected I guess a heuristic like whether the headset is closer than both controllers might do the trick.
The specific transformations needed might be a little more complex than one would think, due to the need to align orientation and position coordinate spaces. In its simplest form it might be just swapping translation axis.
The flip instinctively seems like a thing that belongs in a higher layer. While it's meant for front facing hardware, this isn't the only such device. Additionally, it screws up playspace indication like chaperone. If it actually is in firmware that's nearly inevitable.
Does anyone know how nolo handles ceiling mount in the software?
I've implemented the 180 degree flip in a branch on my fork of OSVR-Fusion , so we can consider that off the table. It could perhaps exist in its own, independent plugin. But OSVR-Fusion seemed like a good choice among existing plugins: already had all the scaffolding I needed to implement it, and it isn't far out of the existing scope.
For future development, we may want consider adding the ability to do a 180-degree flip using some button combination, as is implemented by some of the other Nolo drivers (it's not done at the firmware level AFAIK).
We also may wish to consider adding a setting to enable the appropriate coordinate transformations for ceiling mount mode.