j'ai un script permettant de faire tourner un objet à 90 degrés sur l'axe Y.
Si je lance la rotation depuis la fonction start() ça marche, le cube tourne une fois à 90 degrés.
Ce que j'essaie de faire c'est de lancer cette rotation depuis la fonction update() avec GetKeyDown(Keycode.Z), mais dans ce cas il faut appuyer plusieurs fois pour faire la rotation. Bien sûr j'aimerais que la rotation se fasse en entier en appuyant une seule fois sur la touche.
Est-ce que je dois passer par une boucle à l'intérieur de Input.GetKeyDown pour incrémenter la rotation de 1 jusqu'à 90?
J'ai essayé avec une boucle For mais sans succès.
Pour le code:
Code : Tout sélectionner
// For the rotation of the player in quaternion
Quaternion rotateCoords;
int angleOfRotation;
void Start () {
transform.rotation = Quaternion.identity;
angleOfRotation = 90;
}
void Update () {
// Convert the quaternion in Euler angles
rotateCoords = Quaternion.Euler (0, 90, 0);
// Dampen towards the target rotation
transform.rotation = Quaternion.Lerp (transform.rotation, rotateCoords, Time.deltaTime * 2);
}