如何计算智能手机的俯仰和横滚?

时间:2018-10-15 05:07:09

标签: c# unity3d mobile gyroscope

我正在做一个认真的游戏,旨在帮助上肢康复。在我的游戏中,我使用智能手机计算旋转度,以获取横滚和俯仰,我使用以下功能。与其他商业应用程序相比,大多数滚动读数不正确,而大多数音高读数与该应用程序的读数相同,但是变化很快。有人知道由于万向节锁定或功能不正确吗?

float x = Input.gyro.attitude.x;
    float y = Input.gyro.attitude.y;
    float zz = Input.gyro.attitude.z;
    float w = Input.gyro.attitude.w;
    float roll = Mathf.Atan2(2 * y * w + 2 * x * zz, 1 - 2 * y * y - 2 * zz * zz) * 180 / pi;
    float pitch = Mathf.Atan2(2 * x * w - 2 * y * zz, 1 - 2 * x * x - 2 * zz * zz) * 180 / pi;

0 个答案:

没有答案