Daydream Hybrid (NonVR/VR) 应用程序不切换 VR 模式

Daydream Hybrid (NonVR/VR) App does not switch VR mode

我正在尝试在 Unity 中为 Android 创建一个混合 VR/NonVR 应用程序。我遵循入门指南并尝试获得一个在 VR 和非 VR 模式之间切换的场景 运行(如果重要,从后者开始):

  1. 获取 Unity Daydream 技术预览版 5.4.2f2-GVR13
  2. 下载并导入SDK
  3. 将平台设置为 Android MinSDK 24
  4. 设置虚拟现实支持 None 和 Daydream
  5. 附加一个脚本,每五秒调用一次代码片段 1,使用 "None" 或 "daydream" 作为参数。
  6. 构建像素 Phone

    UnityEngine.VR.VRSettings.LoadDeviceByName(字符串); //片段1

github 存储库可从 https://github.com/sisch/DaydreamHybridScene

获得

问题: 当应用程序启动时,它以应用程序(非 VR)模式启动。 Logcat 每五秒显示一次实施的 Debug.Log 消息。但是,没有其他事情发生。特别是屏幕停留在一个摄像头的 2D 模式。我期待看到立体 VR 视图和普通的旧 2D 应用程序视图之间的切换。

我迷路了,非常感谢任何关于我做错了什么的提示。 (我是新来的,所以也欢迎提供有关如何改进问题的提示)

所以,我终于找到了问题所在,并留下这个答案以备日后参考。

我有几次从头开始。最后,这是愚蠢的,因为我只是错过了下面标记的两行

UnityEngine.VR.VRSettings.LoadDeviceByName("daydream");
// wait one frame                         //<--
UnityEngine.VR.VRSettings.enabled = true; //<--

LoadDeviceByName 会根据 logcat 输出来初始化 Daydream GvrViewer,但不会隐式激活 StereoController。

我也将更改上传到 github。因此,您可以在 github: tag=WhosebugAnswer

上为 Unity 5.4.2f2-GVR13 找到一个裸露的工作场景(从 NonVR 开始)并每 10 秒切换一次