在 Unity3D 4.6.7 中跨场景加载保持纸板向前方向?

Persist Google Cardboard forward direction across scene loads in Unity3D 4.6.7?

我在尝试维护 Google Cardboard 在场景加载后考虑为设备转发时遇到了问题。虽然我在 SDK c# 代码中找不到对此的任何明显调用,但 Google Cardboard SDK 似乎会在每次场景加载后自动调用 Recenter。我已经尝试在纸板实例化预制件和 Cardboard.SDK object 上调用 DontDestroyOnLoad(在 Cardboard.cs 的第 328 行中提到)。这会在负载中保留那些 objects,但视图仍然是 re-centered 基于设备的当前方向。

我想避免居中,因为一些可以启动加载的 gaze-based 菜单项偏离了用户的左侧或右侧 - 这使得新的中心位于 left/right场景加载后。然后用户必须物理移动他们的 body 以面向新的前锋。

还有其他人在尝试同样的事情吗?我是否漏掉了一些明显的东西?

非常感谢任何建议!

函数 Cardboard.OnLevelWasLoaded() 调用 device.Reset(),在基础 class 实现中,它只调用 Recenter(),它具有您所看到的效果。如果您注释掉该行,或使用您可以控制的变量对其进行保护,则面不应重置。

我在 Gear VR (Unity 5) 上遇到了同样的问题。如果其他人正在寻找这个,我已经回答了

简单地说,如果您还使用 Oculus 的 OVR 实用程序:

  1. 找到附加到 OVRCameraRig 的 OVR 管理器脚本
  2. 取消选中 'Reset Tracker On Load'