2

我正在为 oculus go 开发,我正在制作一个类似跳伞的游戏,玩家可以用头部控制角色的悬停。我创建了一个空的游戏对象并将 ovr 摄像机装置放置在其中以移动它,然后我使用它camera.main.transform.rotation来获取 oculus 旋转,并将角色移动到玩家正在观看的方向。例如,我打印camera.main.transform.rotation并得到 4 个值,从 -1 到 0,最后是 1,我为得到跟踪所做的是

if(camera.main.transform.rotation.x>0)
{
    //move the player up
}

想象一下,当我抬头看时,如果 oculus 打印出从 0 到 1 的值camera.main.transform.rotation.x

当我得到 apk 时,一切都很好,但有时轴是倒置的,我必须重新启动 oculus 才能解决这个问题。有谁知道为什么会发生这种情况,以及我做错了什么?

4

1 回答 1

1

我对 z 轴控件也有类似的问题。我正在为 Oculus go 做一个赛车游戏,想用 LocalControllerRotation 控制汽车的方向。

事实上,当你旋转眼睛比180 °在全局空间中旋转更多时,就会发生反转

(0° = LocalControllerRotation.w = 1f, 180° = LocalControllerRotation.w = -1f)

问题是 Oculus 的全局值即使在视图被重置后也没有改变。Oculus 脚本重新调整了所有控制器和摄像机的方向,但值没有。而且因为我的脚本通过访问这些值来工作,所以结果是相反的。

我的解决方案是检查LocalControllerRotation.w值(也应该适用于相机方向),然后更改输入

于 2019-02-05T10:23:12.850 回答