C# Unity 3D 360旋转宇宙飞船

C# Unity 3D 360旋转宇宙飞船,c#,unity3d,C#,Unity3d,所以我是Unity的新手,昨天安装了Unity,我想做一个简单的游戏让自己开始。。。 所以我试图让一个3D立方体通过旋转来转动,同时上下移动立方体 我在网上的2D教程中发现了我正在做的事情,但它似乎从来没有在3D中工作过,因为我的立方体没有旋转,或者尝试倾斜,或者不移动,在旋转时更改z、y和x 这是我的代码,任何帮助都将不胜感激,或者为我所追求的内容指导一个好的教程将是非常棒的 public class Movement : MonoBehaviour { float maxSpeed

所以我是Unity的新手,昨天安装了Unity,我想做一个简单的游戏让自己开始。。。 所以我试图让一个3D立方体通过旋转来转动,同时上下移动立方体

我在网上的2D教程中发现了我正在做的事情,但它似乎从来没有在3D中工作过,因为我的立方体没有旋转,或者尝试倾斜,或者不移动,在旋转时更改z、y和x

这是我的代码,任何帮助都将不胜感激,或者为我所追求的内容指导一个好的教程将是非常棒的

public class Movement : MonoBehaviour {
    float maxSpeed = 4f;
    float rotSpeed = 180f;  

    void Update () {
        //ROTATE SHIP
        Quaternion rot = transform.rotation;
        float x = rot.eulerAngles.x;
        x += Input.GetAxis ("Horizontal") * rotSpeed * Time.deltaTime;
        rot = Quaternion.Euler (0, 0, x);
        transform.rotation = rot;

        //MOVE SHIP
        Vector3 pos = transform.position;
        pos.z += Input.GetAxis ("Vertical") * maxSpeed * Time.deltaTime; 
        transform.position = pos;
    }
}
更改此行:

rot = Quaternion.Euler (0, 0, x);
关于这一行:

rot = Quaternion.Euler (x, 0, 0);
你把原来的x取下来,然后把它重新指定为z

更改此行:

rot = Quaternion.Euler (0, 0, x);
关于这一行:

rot = Quaternion.Euler (x, 0, 0);

你把原来的x取下来,然后把它重新指定为z

谢谢大家!!伙计,我看起来很傻哈哈,太简单了!谢谢你!这让我等了10分钟才接受一个答案,第二个问题,前进和后退不遵循旋转,我如何才能让它工作?@LawrenceWilliamTrigg提出了一个新的问题。但使用transform.Translate可以轻松实现这一点。很难在评论中回答这个问题。好的,谢谢你的帮助!我会继续研究,看看我是否能先弄明白,然后问:@LawrenceWilliamTrigg,这才是真正的程序员的精神:通常新技术的乞丐不在乎自己的研究。干杯小贴士:使用我告诉过你的这种翻译方法。谢谢!伙计,我看起来很傻哈哈,太简单了!谢谢你!这让我等了10分钟才接受一个答案,第二个问题,前进和后退不遵循旋转,我如何才能让它工作?@LawrenceWilliamTrigg提出了一个新的问题。但使用transform.Translate可以轻松实现这一点。很难在评论中回答这个问题。好的,谢谢你的帮助!我会继续研究,看看我是否能先弄明白,然后问:@LawrenceWilliamTrigg,这才是真正的程序员的精神:通常新技术的乞丐不在乎自己的研究。干杯提示:使用我告诉过你的这种翻译方法。