Bonjour, je suis en train de réfléchir à un système pour gérer les collisions dans le cadre d'un jeu en 2D.
J'avais pensé à un quadtree, ce qui me permettrais de tester uniquement les collisions entre objets se trouvant proche les uns des autres. Donc, chaque objet aurait une référence vers la feuille qui le contiendrais. Pour tester les collisions, je teste avec tout ceux qui sont dans le même nœud. Jusqu'ici, rien de spécial.
Mais une question m'est venue à l'esprit: mes objets ne sont pas des points, ils ont une certaine surface, et pourraient donc potentiellement appartenir à deux nœuds comme je ne me fixe pas de taille maximale et minimale pour mes objets dynamiques.
Une possibilité serait de bouger les frontières des nœuds, mais j'ai peur que le coût pour calculer celà me ferait perdre l'avantage des quadtree.
Une autre, serait que chaque nœud contenant une partie de mon objet dynamique contienne une référence vers cet objet. Mais alors, cet objet doit aussi compter autant de références que de nœud qui le contienne...
Comment est-ce que vous vous y prenez? Quelles pistes que je viens d'évoquer ne sont pas bonnes, lesquelles le sont?
Partager