当我提升/降低(摇动)我的手机时,我试图移动游戏对象,但我不知道如何获取设备的移动。我已经知道了Input.acceleration,但这只是给我设备旋转,我想要它的实际运动。
这可能吗?我将如何去做?
答案 0 :(得分:0)
加速计读取运动(加速度)+恒定重力的变化之和。您可以通过两种方式将其用于定向运动:
检测重力角的变化 - 当设备不移动(或以恒定速度移动)并与地面平行时,加速度计将读取地球的重力,即:{{1 }}。当设备倾斜(因此不与地面平行)时,矢量的长度仍为9.81,但它会旋转一点。 new Vector3(0,-9.81,0)
(此示例是在一个轴上旋转56度(pi / 10))。使用它将产生这种控制:https://www.youtube.com/watch?v=3EU3ip4k0uE
检测加速度的峰值。当设备静止或以恒定速度移动时,加速度矢量的长度将等于9.81,当它改变/开始移动时,该数字将改变。您可以检测到这些变化并将其解释为一次瞬间移动(如按箭头)。
还有其他选择不使用accelometer,例如你可以用Vuforia检测一些打印的标记:https://www.youtube.com/watch?v=8RnlBEU5tkI - 解释标记的相对位置,并以同样的方式动作,因为你检测加速度改变#1。