我正在使用 Unity 制作一款使用陀螺仪的游戏。我试图检测设备围绕穿过屏幕的轴的旋转,我假设它是 Unity Space 中的 Z 轴。我尝试使用Input.gyro.attitude.eulerAngles.z,但当围绕其他轴倾斜设备时它不会保持恒定,我希望它保持恒定,以便只有“Z 轴”决定汽车方向盘的旋转。我怎样才能实现这个?
编辑:
我尝试做其他事情。我用Input.gyro.rotationRateUnbiased而不是Input.gyro.attitude.eulerAngles
这是代码:
Vector3 gInput = Input.gyro.rotationRateUnbiased;
gyroEuler += gInput * Time.deltaTime * Mathf.Rad2Deg;
float rollAngle = gyroEuler.z;
while (rollAngle < 0)
{
rollAngle += 360;
}
while (rollAngle > 360)
{
rollAngle -= 360;
}
Run Code Online (Sandbox Code Playgroud)
但在游戏开始时gyroEuler将被设置为无论设备方向如何,因此设备方向在开始时不会被知道,而且也非常不准确。我想像《Temple Run 2》等许多游戏那样旋转屏幕,但我希望能够将其旋转 360 度并获得该旋转角度。(0, 0, 0)Input.gyro.rotationRateUnbiased
我正在将用Python 2编写的源代码转换为Python 3,我偶然发现:
from Queue import Queue, Empty
Run Code Online (Sandbox Code Playgroud)
我改成了:
from multiprocessing import Queue, Empty
Run Code Online (Sandbox Code Playgroud)
但这给了我一个例外:
ImportError: cannot import name 'Empty'
Run Code Online (Sandbox Code Playgroud)
我该如何解决?