你是直接用欧拉角转的吗?
在转之前先判断下就行了。
y = ClampAngle(y, yMinLimit, yMaxLimit);
private float ClampAngle (float angle,float min,float max)
{
if (angle < -360f)
angle += 360f;
if (angle > 360f)
angle -= 360f;
return Mathf.Clamp (angle, min, max);
}

在转之前先判断下就行了。
y = ClampAngle(y, yMinLimit, yMaxLimit);
private float ClampAngle (float angle,float min,float max)
{
if (angle < -360f)
angle += 360f;
if (angle > 360f)
angle -= 360f;
return Mathf.Clamp (angle, min, max);
}
