1

在 Unity 的游戏视图中,当游戏开始时,它总是对同一点上光。游戏开始时,头部总是旋转(0,0,0)。

不幸的是,当我编译并推送到我的 Android 手机时,这不会发生。游戏开始时,可​​能玩家需要将身体转180度,因为他必须遵循的路径在后面(希望他会转身:如果玩家转过头180度,他可能会死)。

顺便说一句,当第二个场景加载时会发生这种情况。第一个场景似乎还可以。当我这样做时,问题就会发生UnityEngine.SceneManagement.SceneManager.LoadScene ("GameScene");

我尝试在调用GameScene 函数之前LoadScene和结束时添加以下代码:Start

cardboardHead.GetComponent<Transform> ().rotation = Quaternion.identity;

但是,我们似乎无法在运行时更改该值,因为当我在 Unity 中在运行时修改它时,它会立即更改回原来的值。

一种解决方法是按以下方式更改父旋转:如果头部的旋转为 156,则头部的父游戏对象将为 -156。这应该可行,但这不是一个优雅的解决方案。

4

1 回答 1

3

使用 Cardboard SDK,您有一个功能可以做到这一点

Cardboard.SDK.Recenter ();

尝试一下,而不是直接修改相机变换。因为你需要 headtracker 来改变它的方向。

更新:上面的代码适用于旧版本的 Google Cardboard。现在它已更名为 Google VR,上面的代码已更改为以下内容:

GvrViewer.Instance.Recenter ();
于 2016-06-16T19:23:31.923 回答