我正在为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来解决此问题。有谁知道为什么会这样,以及我在做什么错?
答案 0 :(得分:0)
我在z轴控件上也遇到类似的问题。我正在为Oculus go制作赛车游戏,想通过LocalControllerRotation控制汽车的方向。
实际上,当您在全局空间中旋转oculus超过180 °
时,反转就会发生
(0° = LocalControllerRotation.w = 1f, 180° = LocalControllerRotation.w = -1f)
问题在于,即使重置视图,Oculus的全局值也不会改变。 Oculus脚本重新调整了所有控制器和摄像机的方向,但这些值没有。而且因为我的脚本通过访问值起作用,所以结果相反。
我的解决方案是检查LocalControllerRotation.w
值(也应适用于相机方向),然后更改输入