Créer un jeu avec Unity 3D

Le lancer de rayon (raycast)

ToutApprendre

- Titre : Créer un jeu avec Unity 3D

- Auteur : ToutApprendre

- Parution : 24 octobre 2014

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 Équipe rubrique 2D/3D/Jeux. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Navigation

- I. Vidéo

- II. Ce qu'il faut retenir

- II-A. Le lancer de rayon

- III. Commenter

- IV. Remerciements

- Navigation

Navigation

Tutoriel précédent : instancier des objets

Sommaire

Tutoriel suivant : les collisions et les déclencheurs

I - Vidéo

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=xDdTSV_ARk0

II - Ce qu'il faut retenir

II-A - Le lancer de rayon

Le lancer de rayon (raycast) simule le parcours d'un rayon au travers de la scène et permet, entre autres, de tester si un objet se trouve sur son chemin. Cela peut être très pratique pour simuler le tir du joueur dans un FPS.

Unity 3D implémente le lancer de rayon à travers la méthode statique Raycast() de la classe Physics. Elle s'utilise ainsi :

function Update() {
if (Physics.Raycast(transform.position, Vector3.forward)) {
Debug.Log("Un objet est entré dans le rayon");
}
else {
Debug.Log("Aucun objet ne touche le rayon");
}
}

Si vous voulez connaître quel est l'objet qui est touché par le rayon, vous devez utiliser une variable de type RaycastHit :

var hit:RaycastHit;

function Update() {
if (Physics.Raycast(transform.position, Vector3.forward),hit) {
Debug.Log(hit.distance);
}
else {
Debug.Log("Aucun objet ne touche le rayon");
}
}

Ici, on affiche la distance de l'objet lorsqu'il y a une collision entre le rayon et un objet.

III - Commenter

Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum, ou encore, poser vos questions dans le forum Unity.

IV - Remerciements

Nous remercions « ToutApprendre » pour l'élaboration et la réalisation de ces vidéos. Vous pouvez retrouver sa chaîne YouTube en suivant ce lien.

Navigation

Tutoriel précédent : instancier des objets

Sommaire

Tutoriel suivant : les collisions et les déclencheurs