Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在unity3d中限制游戏对象的旋转_Unity3d_Rotation - Fatal编程技术网

如何在unity3d中限制游戏对象的旋转

如何在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

我正在做一个游戏,游戏中有一辆坦克可以射击一些物体。 我想在“X”的-90到90度之间旋转坦克炮。
我使用了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;