Unity C#设备移动方向捕获

时间:2016-05-24 19:09:51

标签: android unity3d device accelerometer tilt

美好的一天。

我想创建一个与设备运动非常接近的应用程序。

在示例中:如果设备向后移动,则单位3D对象应向后移动,如果向前移动,则对象在3D环境中向前移动,然后向左和向右移动。

无论如何,我用google搜索的解决方法只带我加速度计,我不需要,因为加速度计用于检测倾斜而不是实际移动。所以我想问一下,是否有可能检测到设备的统一运动?如果是的话,我应该寻找什么类来实现我想要的目标。

事先谢谢你。

1 个答案:

答案 0 :(得分:1)

Jow Blow的评论是正确的:加速度计给出加速度(你不说)。倾斜可以从加速度的数量中找到,但也可以看到其他运动。如果您静止不动并开始前进,您的加速度计值将显示它(因为您加速)。

如果您正在手机上以以恒定速度向前移动,则无法测量任何设备。如果您了解一些物理特性,您会发现加速度计不起作用的原因更为明显:因为恒定速度意味着力的合力为零。所以没有力量可以检测到。

如果您需要检测恒定速度并计划移动相当大的距离,您可以尝试使用GPS位置,但如果您需要高精度,则无法使用标准设备进行操作

忘记检测短距离以恒定速度移动。解决方案可以是检测加速度并估计由此产生的方向和速度(速度=时间*加速度)。这种方法不会非常精确,因为任何错误都会加起来,但它可能是足够的