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;
}
}
}




