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

时间:2014-09-18 12:44:21

标签: unity3d rotation

我正在制作一个游戏,其中有一个坦克射击一些物体。 我想在“X”的-90到90度的llimits之间旋转坦克的枪。 我使用了transform.rotate,但它使用一些浮点值(0.0到1.0)旋转枪,我在检查器上看到的旋转是不同的。如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

使用Mathf

下面的代码
static float Clamp(float value, float min, float max); 

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;

答案 1 :(得分:0)

我找到了答案,我使用eularAngles限制旋转如下

 if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270))
        {
            gun.Rotate(0,0,turnAngle);
        }