Je dois écrire ce qui peut être résumé comme un jeu 3D complet à partir de zéro ce semestre. Jusqu'à présent, je n'ai programmé que des jeux 2D pendant mon temps libre, la transition ne semble pas difficile, le jeu est simple. Le seul problème que j'ai est la détection de collision. La seule chose que j'ai pu trouver était AABB, des sphères englobantes ou des recommandations de divers moteurs physiques. Je dois programmer un sous-marin qui va se déplacer librement à l'intérieur d'un système de grottes, AFAIK Je ne peux pas utiliser les bibliothèques de physique, donc rien de ce qui précède ne résout mon problème.
Jusqu'à présent, j'utilisais SAT pour ma détection de collision. Existe-t-il des algorithmes excellents similaires, mais conçus pour les collisions 3D? Je ne parle pas d'octrees ou d'autres optimisations, je parle de détection de collision directe d'un ensemble de polygones 3D avec un autre ensemble de polygones 3D. J'ai pensé à utiliser SAT deux fois, projeter le maillage du haut et du côté, mais il semble si difficile de diviser même l'espace 3D en formes convexes. Cela semble aussi beaucoup trop de calcul même avec des octets.
Comment font les professionnels? Quelqu'un pourrait-il faire la lumière?