【问题标题】:how to limit the rotation of a game object in unity3d如何在unity3d中限制游戏对象的旋转
【发布时间】:2014-11-12 19:28:49
【问题描述】:

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

【问题讨论】:

    标签: unity3d rotation


    【解决方案1】:

    使用Mathf类中的以下代码

    static float Clamp(float value, float min, float max); 
    

    例如

    var angle = Mathf.Clamp(angle, 90, 270);
    Quaternion target = Quaternion.Euler(0, 0, angle); // any value as you see fit
    transform.rotation = target;
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-05
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多