C# 如何将设备加速度转换为全局加速度
我正在为android开发一个unity应用程序,需要借助加速度计测量设备的运动。问题是这些值包含重力。有人说为了消除重力,我必须将加速度转换成全局加速度,然后从Z轴上消除重力,但我不知道怎么做?有没有什么特殊的统一功能来实现这一点C# 如何将设备加速度转换为全局加速度,c#,android,unity3d,rotation,accelerometer,C#,Android,Unity3d,Rotation,Accelerometer,我正在为android开发一个unity应用程序,需要借助加速度计测量设备的运动。问题是这些值包含重力。有人说为了消除重力,我必须将加速度转换成全局加速度,然后从Z轴上消除重力,但我不知道怎么做?有没有什么特殊的统一功能来实现这一点 谢谢Unity论坛上的这条帖子澄清了问题: 正如Unity Technologies的“inkredibl”所说: 在Unity陀螺仪中,旋转率是真实的陀螺仪数据,所有 该类的其他属性使用其他传感器(如果可用)来 对现实世界中的设备运动做出更好的估计。 陀螺仪.重
谢谢Unity论坛上的这条帖子澄清了问题: 正如Unity Technologies的“inkredibl”所说: 在Unity
陀螺仪中,旋转率
是真实的陀螺仪数据,所有
该类的其他属性使用其他传感器(如果可用)来
对现实世界中的设备运动做出更好的估计。
陀螺仪.重力
和陀螺仪.用户加速度
与
加速计,但在其他传感器的帮助下,他们有重力
与设备加速分离,使其更易于
开发人员使用(但这也是一个估计,他们不是
很好,只有足够近)
所以陀螺仪。用户加速度
就是这个问题的答案。
Input.acceleration是加速度计数据,以
g(地球引力)的倍数,这就是为什么当
设备未被移动。当设备启动时,尝试记录它
被抛到空中,它应该接近零(这是因为
此时装置处于自由落体状态)。罗盘,向量是
磁强计数据和该类别的所有其他属性
使用各种传感器,而不仅仅是磁强计