Out of all sensor fusion algorithms I’ve seen on the web, GVR’s Head Tracking is by far the best and most precise sensor fusion algorithm on smartphone I could find.
It is so much better that I am trying to do something that might seem weird: I want to have access to VR.InputTracking.GetLocalRotation without having either stereoscopic view, landscape mode forced or my view automatically rotating : I just need to access the quaternion.
I only managed to get GetLocalRotation to work if I first load the cardboard device
VRSettings.LoadDeviceByName("cardboard");
But as soon as I do this:
The whole scene rotates with my device
Landscape mode is forced
Do I have to write my own plugin using Google Native SDK to achieve this?
This is not possible today. If you load a Google VR device and don’t enable VR, that device then owns the main camera and rotations will track with the pose. This is an explicit feature from Google calls Magic Mirror Mode and you can not opt out of it.
Hey joejo, do you know if there are any plans to change this?
I’m trying to build a single app that handles Daydream, Cardboard, and Magic Window, but the current restrictions in GVR / Unity prevent this from being possible without UX issues (ex. daydream view interstitial popping up even when VRSettings.enabled = false). See this post of mine on GitHub:
I use Google Cardboard SDK v0.6 to get a VR view without needing any native VR mode or additional Google VR services or apps installed on the device. I also have control over phone’s orientation.
What’s the version of your Unity Editor? Because I work with Unity 2017.1 and afraid that there is no way to use old GVR SDKs with newest Editors.
Thank!