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.
Défi
MoyenFais en sorte que le rover soit orienté dans la direction où il avance.
- Sous le commentaire dans
Update(), écrisif (move != Vector3.zero)afin que le rover conserve son orientation lorsqu’il est à l’arrêt. - À 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
1Les bases de C# dans Unity
Bonjour, UnityVariablesLes nombres décimaux ont besoin d’un fDu texte dans la consoleDes variables qui mémorisentSi et sinonComparer des nombresRécapitulatif : le collecteur de pièces7Boucles et méthodes
Répéter avec forBoucles imbriquéesÉcrire une méthodeMéthodes qui renvoient une réponseTableauxRécapitulatif : escalier10Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que la rechercheLe null de UnityRécapitulatif : la pièce la plus proche13Projet : Éviter les blocs
Le coureurDes blocs tombent du ciel2Mettez-le en mouvement
Placez le cubeDéplacez-le à chaque frameTournez chaque secondeDirigez avec les touchesRécapitulatif : pilotez le cube5Vecteurs
Additionner des vecteursDirectionsEspace local et espace globalVitesse diagonaleDistance entre des objetsVector3 est une structureRécapitulatif : pilote de drone8GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur3L’inspecteur
Champs de l’inspecteurSerializeFieldFlottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur6Transformations et hiérarchie
Parents et enfantsHissez le drapeauÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : la lune en orbite9Projet : Attrape l’étoile
Le receveurUne étoile filanteEntraînez-vous par vous-même : Playground Unity