2Fermer4
ZephLe 09/10/2008 à 15:33
Tes cubes bougent ou bien il s'agit d'un décor fixe ? Dans le deuxième cas, ce que j'aurais eu tendance à faire ne vaut peut-être pas grand chose, mais j'aurais dans un premier temps calculé les équations des plans contenant les faces de ton cube (donc un vecteur à 3 coordonnées et une distance soit 4 valeurs par face). Comme tes cubes ne bougent pas tu n'as besoin de faire ça qu'à l'initialisation, et tu conserves les valeurs une bonne fois pour toutes.

Ensuite au moment de tester une collision avec un point (ou avec une sphère, puisqu'au rayon près tu vas procéder de la même façon), tu n'as plus qu'à tester si il est situé à "l'intérieur" du cube délimité par tes 6 plans : si il est situé du même coté pour tous les plans (un simple produit scalaire à calculer à chaque fois), alors il est dans le cube (donc en collision avec lui), sinon non. Tu peux généraliser cette méthode d'ailleurs, puisqu'elle fonctionne avec n'importe quel polygone convexe et pas seulement des cubes.