我正在使用Vector3.SignedAngle确定方向盘的旋转方向。
一切正常,直到方向盘越过0度点(方向盘向上)。当它越过0点时,它将给出一次相反的旋转方向。我认为这与“ prevRotationDegrees”位于0点的另一侧有关。
有解决方案吗?
这是我的实现方式
Vector3 currentRotationVector = transform.localRotation.eulerAngles;
float angle = SignedAngle(prevRotationVector, currentRotationVector, Vector3.up);
if (angle < -30.0F)
{
print("turn left");
prevRotationVector = currentRotationVector;
}
else if (angle > 30.0F)
{
print("turn right");
prevRotationVector = currentRotationVector;
}