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