Regarder les objets
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 26 sur 67.
transform.LookAt(point) tourne un objet de sorte que son axe avant, la flèche bleue z, pointe vers une position dans le monde. Il tourne l’objet sans le déplacer. Ce projecteur est installé sur une tour en (0, 6, 0) et vise le portail en (4, 0, 10) :
void Start()
{
transform.LookAt(new Vector3(4, 0, 10));
}Le portail est plus bas que le projecteur, donc celui-ci s’incline vers le bas tout en tournant : LookAt vise directement le point, que celui-ci soit plus haut ou plus bas. Ensuite, transform.forward pointe du projecteur vers le portail.
Appelé dans Start(), LookAt vise une seule fois. Appelé dans Update(), il vise à nouveau à chaque image, de sorte que l’objet continue à 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.
Défi
MoyenLe rover se déplace déjà avec les flèches le long des axes x et z du monde. Fais-le regarder dans la direction où il se déplace : lorsqu’il bouge, son avant (son axe avant) pointe dans la direction du déplacement, diagonales comprises. Lorsqu’aucune touche n’est enfoncée, il reste immobile et continue de regarder dans la direction où il s’est déplacé en dernier.
Appuie sur Play, déplace-toi, puis clique sur Check.
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;
// Tourner le rover dans la direction où il se déplace
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases du scripting dans Unity
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur