Raycast & tir
Sur cette page tu apprendras ce qu’est le raycast et comment l’ajouter Ć ton projet.Ā
Cāest quoi un Raycast, et pourquoi on tire avec?
Le raycast cāest un laser invisible et intouchable que lāon peut faire partir de nāimporte ou et dans nāimporte quelle direction. Unity peut dĆ©tecter tous les Ć©lĆ©ments touchĆ©s par ce laser, et nous donner les informations de ces Ć©lĆ©ments.
Comme ce laser nāest pas liĆ© Ć un objet physique, il nāest pas dĆ©pendant des propriĆ©tĆ©s physiques non plus. Ce qui veut dire quāil ne risque pas dāĆ©chouer, de rater une collision, ou de partir trop vite ou pas assez vite.
Le script
Le Raycast le plus simple ce fait ainsi:
On commence par crƩer le laser, le ray. On lui donne une origine et une direction
Ici lāorigine est un objet au choix (shootOrigin), et la direction est lāavant de cet objet.
Puis on utilise un āifā pour voir ce que le raycast a touchĆ©. Les paramĆØtres en parenthĆØse ne sont pas tous obligatoires, seulement les deux premiers, mais voyons un peu a quoi ils servent tous:
- ray: le laser Ć utiliser
- out hit: pour stocker les infos sur les objets touchƩs
- Mathf.Infinity: la distance maximum du laser (ici lāinfinie)
- LayerMask: si on veut exclure certains objets de la dĆ©tection, on peut les mettre sur un ālayerā et dire au raycast dāignorer ce layer
Comme le Raycast est un Ć©lĆ©ment de dĆ©tection liĆ© Ć des collisions, il vaut mieux lāutiliser dans la fonction FixedUpdate. Cette derniĆØre fonctionne comme Update, mais est plus stable.
Cependant ce nāest pas toujours possible car des fois il faut lāassocier Ć des inputs, et les inputs eux fonctionnent mieux dans Update. Il faut choisir au cas par cas. (prioritĆ© aux inputs, toujours)
Dans le cas du tir, le raycast fonctionne de paire avec SendMessage. Ce dernier permet de dĆ©clencher la fonction dāun objet touchĆ© par le raycast, et donc de lui faire faire ce quāon veut.
Le message du Raycast.
Les 3 paramĆØtres sont: la fonction Ć activer, qui lāa activĆ©, et si un objet nāa pas la bonne fonction alors ne rien faire.
La rĆ©action de lāobjet touchĆ©, que lāon met dans un script dudit objet
Exemple dans un script (qui génère des morceaux depuis une liste au moment du hit)
Ā
