float CheckAngle(float value)
{
float angle = value - 180;
if (angle > 0)
{
return angle - 180;
}
return angle + 180;
}
//用法
var rotate = Quaternion.Lerp(transform.rotation, forward, Time.fixedDeltaTime * m_rotateSpeed);
//限制rotate变量的角度
var euler = rotate.eulerAngles;
var angle = CheckAngle(euler.y);
//限制在-60和60度之间
if (angle > 60f || angle < -60f)
{
euler.y = Mathf.Clamp(angle,-60f,60f);
rotate.eulerAngles = euler;
}