GvrEventSystem 与事件系统

GvrEventSystem vs EventSystem

正在开发 Unity 混合 VR(纸板)/2D 应用程序。它的纸板面工作正常。我在 2D/VR 切换时遇到问题。

当我处于 2D 模式时,十字线没有移动,尽管屏幕点击注册了。所以应用程序似乎没有意识到陀螺仪。

我觉得我在这里缺少一些基本的东西。我有一个 GvrEventSystem 预制件,它同时具有 EventSystem 和 GvrPointerInputModule 组件。

我忽略了什么明显的东西?

预计到达时间:

我被要求添加相关代码。这是 2D-VR 动态切换的代码。此代码执行w/out错误,应用每3秒在VR和2D模式之间切换:

  readonly string NONE_STRING = "";
  readonly string CARDBOARD_STRING = "cardboard";

  void Start()
  {
    Invoke("GoPhone", 3.0f);
  }

  void GoPhone()
  {
    SetVREnabled(false);
    Invoke("GoVR", 3.0f);
  }

  void GoVR()
  {
    SetVREnabled(true);
    Invoke("GoPhone", 3.0f);
  }

  void SetVREnabled(bool isEnabled)
  {
    if (isEnabled)
    {
      StartCoroutine(LoadDevice(CARDBOARD_STRING));
    }
    else
    {
      StartCoroutine(LoadDevice(NONE_STRING));
    }
  }

  IEnumerator LoadDevice(string newDevice)
  {
    if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0)
    {
      XRSettings.LoadDeviceByName(newDevice);

      yield return null;

      if (!XRSettings.loadedDeviceName.Equals(NONE_STRING))
        XRSettings.enabled = true;
    }
  }

虽然我觉得我的问题是配置问题,而不是代码问题。在不支持 VR 模式的编辑器中,应用程序按预期在 2D 模式下运行。

还有预计到达时间:

建投

用户错误!我没有遵循 https://developers.google.com/vr/develop/unity/guides/magic-window 中详述的 "Magic Window" 说明...让我的愚蠢成为对后代的警告!