如何在GVR/纸板统一中垂直居中

本文关键字:垂直居中 GVR | 更新日期: 2023-09-27 17:58:36

调用

GvrViewer.Instance.Recenter ();`

只在水平方向上重新居中视图,我也需要它在垂直方向上。

我使用的是最新的unity beta和GVR 0.8`

如何在GVR/纸板统一中垂直居中

您可以通过使VR相机对象成为另一个对象的子对象(我们称之为父对象)并沿VR相机旋转的相反方向旋转父对象来重新居中。这个简单的脚本将执行(附加到父级):

public class Recenterer:MonoBehaviour 
{
    public Transform VRcam;  // drag the child VR cam here in the inspector
    public void Recenter()
    {
      transform.localRotation = Quaternion.Inverse(VRcam.rotation);
    }
}

从Google VR SDK 1.50(和Unity 5.6)可以进行

transform.eulerAngles = new Vector3(newRot.x, newRot.y, newRot.z);
UnityEngine.VR.InputTracking.Recenter();

此外,如果您不想混淆,还需要捕获GvrEditorEmulator实例并重新输入它。

#if UNITY_EDITOR
        gvrEditorEmulator.Recenter();
#endif

重新输入GvrEditorEmulator目前似乎工作不太好,但如果禁用它,你会看到主摄像头可以重新输入。