如何在unity3d中限制游戏对象的旋转
我正在做一个游戏,游戏中有一辆坦克可以射击一些物体。 我想在“X”的-90到90度之间旋转坦克炮。如何在unity3d中限制游戏对象的旋转,unity3d,rotation,Unity3d,Rotation,我正在做一个游戏,游戏中有一辆坦克可以射击一些物体。 我想在“X”的-90到90度之间旋转坦克炮。 我使用了transform.rotate,但它使用一些浮点值(0.0到1.0)旋转枪,我在inspector上看到的旋转有些不同。如何解决这个问题?我找到了我使用欧拉角限制旋转的答案,如下所示 if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270)) { gun.Rotate(0,0,turnAng
我使用了transform.rotate,但它使用一些浮点值(0.0到1.0)旋转枪,我在inspector上看到的旋转有些不同。如何解决这个问题?我找到了我使用欧拉角限制旋转的答案,如下所示
if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270))
{
gun.Rotate(0,0,turnAngle);
}
if((gun.eulerAngles.z270))
{
枪。旋转(0,0,旋转角度);
}
我找到了使用欧拉角限制旋转的答案,如下所示
if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270))
{
gun.Rotate(0,0,turnAngle);
}
if((gun.eulerAngles.z270))
{
枪。旋转(0,0,旋转角度);
}
使用以下课堂代码
e、 g
使用下面的类代码
e、 g
var angle = Mathf.Clamp(angle, 90, 270);
Quaternion target = Quaternion.Euler(0, 0, angle); // any value as you see fit
transform.rotation = target;