2016-09-23 11 views
0

поэтому я новичок в Unity, Installed Unity вчера и хочу сделать простую игру, чтобы начать себя ... Итак, я пытаюсь заставить 3D-куб поворачиваться по повороту, пока вверх и вниз перемещает куб.Unity 3D 360 превращает SpaceShip

Я узнал, что я делал после 2D-учебника онлайн, но похоже, что он никогда не работал в 3D, как мой куб вместо того, чтобы вращаться вокруг, либо пытается наклониться или не двигаться (изменение zy и x on вращение)

Вот мой код, любая помощь будет оценена или направлено на хороший учебник для того, что я буду после этого, будет блестящим!

public class Movement : MonoBehaviour { 

float maxSpeed = 4f; 
float rotSpeed = 180f; 
void Start() { 

} 


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; 
} 
} 

ответ

4

изменить эту строку:

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

этой линии:

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

Вы принимали оригинал х и назначая его обратно в г;

+0

Спасибо! Человек, я выгляжу глупым ха-ха так просто! Цените это! –

+0

Это заставляет меня ждать 10 минут, чтобы принять ответ, второй вопрос, вперед и назад не следует за поворотом, как я могу заставить это работать? –

+0

@LawrenceWilliamTrigg задайте новый вопрос. Но вы можете добиться этого легко, используя 'transform.Translate'. На это трудно ответить. –