1

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

  1. 获取 Unity Daydream 技术预览版 5.4.2f2-GVR13
  2. 下载和导入 SDK
  3. 将平台设置为 Android MinSDK 24
  4. 设置虚拟现实支持 None 和 Daydream
  5. 附加一个脚本,该脚本每五秒调用一次代码片段 1,参数为“无”或“白日梦”。
  6. 构建到 Pixel 手机

    UnityEngine.VR.VRSettings.LoadDeviceByName(string); //片段1

github repo 可从https://github.com/sisch/DaydreamHybridScene获得

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

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

4

1 回答 1

1

所以,我终于找到了这个问题,并将这个答案留作将来参考。

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

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

LoadDeviceByName 确实初始化了由 logcat 输出确定的 Daydream GvrViewer,但它不会隐式激活 StereoController。

我还将更改上传到 github。因此,您可以在 github 上为 Unity 5.4.2f2-GVR13 找到一个裸露的工作场景(从 NonVR 开始)并每 10 秒切换一次:tag=StackoverflowAnswer

于 2017-01-06T15:39:00.967 回答