直接上代码
void Update () {
CapRot();
}
/// <summary>
/// 限制抬头角度和低头角度为-20-20之间
/// </summary>
public void CapRot()
{
transform.Rotate(Input.GetAxis("Vertical") * Time.deltaTime * 60f, 0, 0);
if (transform.localEulerAngles.x>30&&transform.localEulerAngles.x<180)
{
transform.localEulerAngles = new Vector3(30,transform.localEulerAngles.y,transform.localEulerAngles.z);
}
if (transform.localEulerAngles.x<330&&transform.localEulerAngles.x>180)
{
transform.localEulerAngles = new Vector3(330,transform.localEulerAngles.y, transform.localEulerAngles.z);
}
}
刚开始想着比较简单,直接控制就好,结果发现不是那么容易的,角度有360°,需要限制两面的角度才可以控制在一个范围内。