Oculus go意外地统一反转轴

时间:2018-08-15 04:04:00

标签: c# unity3d oculus oculusgo

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

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

想象一下,当我用camera.main.transform.rotation.x查找时,oculus是否会从0到1打印值

当我获得apk时,一切正常,但有时轴反转了,因此我必须重新启动oculus来解决此问题。有谁知道为什么会这样,以及我在做什么错?

1 个答案:

答案 0 :(得分:0)

我在z轴控件上也遇到类似的问题。我正在为Oculus go制作赛车游戏,想通过LocalControllerRotation控制汽车的方向。

实际上,当您在全局空间中旋转oculus超过180 °时,反转就会发生

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

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

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