Unity限制上下旋转角的问题

在我想限制相机上下的视角角度时,用以下方法会出现视角动不了的问题。

float mouseX=Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
up_down.transform.Rotate(-mouseY, 0, 0);
up_down.transform.localEulerAngles= new Vector3(Mathf.Clamp(up_down.transform.localEulerAngles.x,-80,-20), 0, 0);

原因是localEulerAngles的范围是0到360,超过360会直接变成0
改为以下方式得以解决

float mouseX=Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
up_down.transform.Rotate(-mouseY, 0, 0);
up_down.transform.localEulerAngles= new Vector3(Mathf.Clamp(up_down.transform.localEulerAngles.x,280,340), 0, 0);
posted @ 2024-09-13 01:28  zlllIII  阅读(139)  评论(0)    收藏  举报