Menu
CoddyTech

Regarder les objets

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

transform.LookAt(point) fait tourner un objet de sorte que son axe avant, la flèche bleue z, pointe vers une position dans le monde. Il fait tourner l’objet sans le déplacer. Ce projecteur est installé sur une tour en (0, 6, 0) et vise la porte en (4, 0, 10) :

void Start()
{
    transform.LookAt(new Vector3(4, 0, 10));
}

La porte est plus basse que la lumière, le projecteur s’incline donc vers le bas tout en tournant : LookAt vise directement le point, vers le haut ou vers le bas. Ensuite, transform.forward pointe de la lumière vers la porte.

Appelé dans Start(), LookAt vise une seule fois. Appelé dans Update(), il vise à nouveau à chaque image : l’objet continue donc à faire face au point lorsque l’objet ou le point se déplace. Son argument est toujours une position : LookAt(Vector3.forward) vise le point du monde (0, 0, 1), un endroit près du centre du monde, où que se trouve l’objet.

challenge icon

Défi

Moyen

Fais en sorte que le rover soit orienté dans la direction où il avance.

  1. Sous le commentaire dans Update(), écris if (move != Vector3.zero) afin que le rover conserve son orientation lorsqu’il est à l’arrêt.
  2. À l’intérieur, appelle transform.LookAt(transform.position + move);.

Appuie sur « Jouer » et conduis : l’avant du rover se tourne vers la direction où il avance. Puis appuie sur « Vérifier ».

Essayez vous-même

using UnityEngine;

public class Rover : MonoBehaviour
{
    public float speed = 3f;

    void Update()
    {
        Vector3 move = Vector3.zero;
        if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
        if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
        if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
        if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
        move = move.normalized;
        transform.position += move * speed * Time.deltaTime;
        // Oriente le rover dans la direction où il se déplace
    }
}

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

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