按我的理解,在Unity中,角度在内部应该是用四元数表示的,所以,在Inspector面板展示的和实际打印出来的localEulerAngles值是不一样的。
直接上代码.
/// <summary>
/// 旋转值 数值规范.(-180——0——180)
/// </summary>
private float StandardRot(float value)
{
if (value > 180)
{
value -= 360;
}
return Mathf.Round(value * 100) / 100;
}
public float CheckAngle(float value)
{
float angle = value - 180;
if (angle > 0) return angle - 180;
return angle + 180;
}