在Unity3D 4.6.7中保持Google Cardboard在场景加载中的前进方向?

时间:2015-07-14 00:52:21

标签: unity3d google-cardboard

我无法在场景加载后尝试维护Google Cardboard认为的设备转发内容。虽然我在SDK c#代码中找不到任何明显的调用,但看起来Google Cardboard SDK会在每次场景加载后自动调用Recenter。我尝试在纸板实例化预制件上调用DontDestroyOnLoad,并在Cardboard.SDK对象上调用(在Cardboard.cs的第328行中提到)。这会将这些对象持续存在于加载中,但视图仍然会根据设备的当前方向重新居中。

我想避开重新定位,因为一些可以启动加载的基于注视的菜单项是关闭到用户的左侧或右侧 - 然后在场景加载后使新中心位于左侧/右侧。然后,用户必须身体移动他们的身体以面向新的前锋。

其他人是否尝试过同样的事情?我错过了一些明显的东西吗?

非常感谢任何建议!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

简而言之,如果您还在使用Oculus的OVR Utilities:

  1. 找到附加到OVRCameraRig的OVR Manager脚本
  2. 取消选中'重置跟踪器加载'