Resetting center and position
Sometimes in VR, the view presented in the headset is not quite in sync with your body's orientation. Device SDKs provide functions to reset the orientation of the headset with respect to the real-world space. This is often referred to as the recentering of the view.
Unity provides an API call that maps to the underlying device SDK to recenter the device, UnityEngine.VR.InputTracking.Recenter()
. This function will center tracking to the current position and orientation of the HMD. It only works with seated and standing experiences. Room scale experiences are not affected.
At the time of this writing, Recenter does not work in SteamVR, even for seated configuration. The solution is to call the following code instead:
Valve.VR.OpenVR.System.ResetSeatedZeroPose(); Valve.VR.OpenVR.Compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseSeated);
The Daydream controller has reset built into the underlying system (press and hold the system button...