La prédiction de trajectoire permet au joueur d’affiner le lancement d’un projectile dans certains jeux.
Cet outil est indispensable dans des jeux de type : Billard, Casse-brique, Brick Ball Breaker, etc…
Dans cette vidéo nous allons utiliser les « Raycast » afin de dessiner la trajectoire d’un projectile en 2D, pour cela nous allons devoir calculer le nouveau vecteur de direction après l’impact à l’aide de Vector2.Reflect.
Utilisation de Vector2.Reflect
Vector2.Reflect Reflète un vecteur hors du plan défini par une normale.
Syntaxe :
Vector2.Reflect ( Vector2 inDirection, Vector2 inNormal)
- InDirection : Vecteur de direction du projectile.
- InNormal : Vecteur perpendiculaire à l’objet impacté.
- Result : Nouveau Vecteur de Direction.
Code source
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RayBounce : MonoBehaviour { RaycastHit2D hit; public int TotalBounce = 3; public float LineOffset = 0.01f; void Update() { Vector2 direction = transform.up; Vector2 origin = (Vector2)transform.position + LineOffset * direction; for(int i=1; i<=TotalBounce; i++) { hit = Physics2D.Raycast(origin, direction); Debug.DrawLine(origin, hit.point); direction = Vector2.Reflect(direction.normalized, hit.normal); origin = hit.point + LineOffset * direction; } } }
Poster un Commentaire
Vous devez vous connecter pour publier un commentaire.