2015-04-28 176 views
0

我是新来的Unity,我正试图通过统一构建一个太阳系探索应用程序。我设置了环境,现在我需要的是能够顺畅地环视(通过倾斜和移动手机本身,即android)。我有环顾四周的能力,但是如果我做了完整的180分,它似乎可以通过游戏中的视觉运动反转手机的物理方向,例如,如果我已经转过180度,如果我将手机向下倾斜,它会将我的视野转移到右侧,导致视觉向左移动。这里是我到目前为止的代码:Unity3d陀螺仪环顾

#pragma strict 

private var quatMult : Quaternion; 
private var quatMap : Quaternion; 

function Start() { 
    Input.gyro.enabled = true; 
} 

function Update() { 

#if UNITY_ANDROID 
    quatMap = Input.gyro.attitude; 
#endif 

    transform.localRotation = Quaternion.Euler(90, 0, 0) * quatMap * Quaternion(0,0,1,0) /*quatMult*/; 
} 

任何帮助,非常感谢。谢谢。

+0

你为什么要乘以陀螺旋转而不是仅仅执行'transform.localRotation = Input.gyro.attitude;'? –

回答

1

这应该是你在找什么:https://gist.github.com/chanibal/baf46307c4fee3c699d5。只需将它拖到相机,它应该工作。

您可能想要删除触摸部分的复位(Input.touchCount > 0Update)和调试信息(OnGui方法)。

+0

非常感谢您的回复。我和我的团队实际上决定使用我们学校的Oculus Rift来代替智能手机/谷歌纸板。所以,这带来了我的下一个问题:我们有OVRPlayerController和Oculus上的所有工作都与Logitech控制器配对。所以,当向前移动操纵杆,并将头部和裂缝向左转时,玩家将向左移动;向右走也是一样。问题是它不适用于垂直运动。所以,如果我在控制器上继续前进并抬头,它就会向上飞行。这可能吗? – RoflWaffle17

+0

您必须对您的设置有更具体的了解 - 什么是罗技控制器(游戏手柄?),以及它与Oculus Rift的关系?这可能会超出这个问题的范围。我这样,在另一个问题(在这里发布的链接)和(如果我帮助),接受这个答案。 –