QuadTree für 2D-Kollisionserkennung
Ich arbeite derzeit an einem 2D-shoot-them-up-Art von Spiel, und ich bin mit einem quad-tree für meine Kollision zu betreiben. Ich schrieb ein funktionierendes quad-Baum, der richtig drückt meine Akteure in der Knoten/Blätter gehören Sie in den Baum. Allerdings habe ich ein paar Probleme.
Erstens, wie kann ich wirklich meine quadtree zu wählen, gegen welchen anderen Objekten ein Objekt soll Kollisionen testen ? Ich bin unsicher, wie dies geschehen ist.
Die bis bringt eine zweite Frage. Sagen, ich habe ein Objekt im Knoten, der nicht Nachbar von einem anderen Knoten, aber das Objekt ist groß genug, dass es reicht ein paar Knoten, wie kann ich prüfen, ob eine tatsächliche Kollision, da ich vermute, der Baum könnte überlegen, es ist nicht nah genug, kollidieren mit Objekten in einer "weit Weg" Knoten? Sollten Objekte, die nicht vollständig in einem Knoten gehalten werden, in der übergeordneten Knoten?
In meinem Spiel, die meisten Objekte sind in verschiedenen Größen und bewegen.
Ich gelesen habe, eine gute Anzahl von blogs/Artikel über quadtrees, aber die meisten nur erklären, wie man einen Baum, der ist nicht wirklich das, was ich Suche.
Jede Hilfe/info ist willkommen.
InformationsquelleAutor der Frage dotminic | 2010-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie eine Konvention, die jedes element enthalten ist in der kleinsten quadtree-Knoten enthält es voll.
Dann, wenn Sie das Kontrollkästchen Kollisionen für den Knoten Ein, so gehen Sie:
Beachten Sie, dass je kleiner die Objekte, desto tiefer werden Sie sich in der quad-tree, d.h. Sie werden im Vergleich weniger oft.
InformationsquelleAutor der Antwort Kos