Menu
CoddyTech

Directions

Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 25 sur 85.

Unity dispose de noms pour les six directions, chacune d’une unité de longueur :

  • Vector3.right (1, 0, 0) et Vector3.left (-1, 0, 0)
  • Vector3.up (0, 1, 0) et Vector3.down (0, -1, 0)
  • Vector3.forward (0, 0, 1) et Vector3.back (0, 0, -1)

Il y a aussi Vector3.zero (0, 0, 0) et Vector3.one (1, 1, 1). Comme chaque direction a une unité de longueur, multiplier une direction par une vitesse produit un déplacement exactement égal à cette vitesse. Cet escargot s’éloigne de la caméra à raison de 0.5 unité par seconde :

public float speed = 0.5f;

void Update()
{
    transform.position += Vector3.forward * speed * Time.deltaTime;
}

C’est le même déplacement que new Vector3(0, 0, speed * Time.deltaTime), mais la direction est plus facile à lire et moins susceptible d’être placée sur le mauvais axe. Un signe moins inverse une direction : -Vector3.forward équivaut à Vector3.back. Ces directions sont définies par rapport au monde, et non à l’objet : Vector3.forward correspond à l’axe z du monde, même lorsque l’escargot est tourné dans l’autre sens. La leçon suivante déplace les objets dans la direction vers laquelle ils sont orientés.

challenge icon

Défi

Facile

Déplace le crochet de la grue avec les quatre flèches, en utilisant les directions nommées de Unity.

  1. Dans Update(), écris un if avec Input.GetKey pour chaque touche fléchée.
  2. Chacune ajoute sa direction multipliée par speed * Time.deltaTime : Vector3.right, Vector3.left, Vector3.up ou Vector3.down, comme dans transform.position += Vector3.up * speed * Time.deltaTime;.

Appuie sur « Jouer » et dirige le crochet : il glisse, monte et descend. Puis appuie sur « Vérifier ».

Essayez vous-même

using UnityEngine;

public class Hook : MonoBehaviour
{
    public float speed = 2f;

    void Update()
    {
        // Flèches droite/gauche : déplacer le long de x. Flèches haut/bas : monter et descendre.
    }
}

Toutes les leçons de Les bases du scripting dans Unity

Entraînez-vous par vous-même : Playground Unity