C# 如何将设备加速度转换为全局加速度

C# 如何将设备加速度转换为全局加速度,c#,android,unity3d,rotation,accelerometer,C#,Android,Unity3d,Rotation,Accelerometer,我正在为android开发一个unity应用程序,需要借助加速度计测量设备的运动。问题是这些值包含重力。有人说为了消除重力,我必须将加速度转换成全局加速度,然后从Z轴上消除重力,但我不知道怎么做?有没有什么特殊的统一功能来实现这一点 谢谢Unity论坛上的这条帖子澄清了问题: 正如Unity Technologies的“inkredibl”所说: 在Unity陀螺仪中,旋转率是真实的陀螺仪数据,所有 该类的其他属性使用其他传感器(如果可用)来 对现实世界中的设备运动做出更好的估计。 陀螺仪.重

我正在为android开发一个unity应用程序,需要借助加速度计测量设备的运动。问题是这些值包含重力。有人说为了消除重力,我必须将加速度转换成全局加速度,然后从Z轴上消除重力,但我不知道怎么做?有没有什么特殊的统一功能来实现这一点


谢谢

Unity论坛上的这条帖子澄清了问题:

正如Unity Technologies的“inkredibl”所说:

在Unity
陀螺仪中,旋转率
是真实的陀螺仪数据,所有 该类的其他属性使用其他传感器(如果可用)来 对现实世界中的设备运动做出更好的估计。
陀螺仪.重力
陀螺仪.用户加速度
与 加速计,但在其他传感器的帮助下,他们有重力 与设备加速分离,使其更易于 开发人员使用(但这也是一个估计,他们不是 很好,只有足够近)

所以
陀螺仪。用户加速度
就是这个问题的答案。

Input.acceleration是加速度计数据,以 g(地球引力)的倍数,这就是为什么当 设备未被移动。当设备启动时,尝试记录它 被抛到空中,它应该接近零(这是因为 此时装置处于自由落体状态)。罗盘,向量是 磁强计数据和该类别的所有其他属性 使用各种传感器,而不仅仅是磁强计