Hi,
ich möchte untersuchen ob ein paar 3DModels sich schneiden.
Mein erster Gedanke war, dass ich den Komplexen 3DModels ein Radius zuteile um dann zu überprüfen ob sich andere 3DModels sich darin befinden. Evt schließe ich auch einen Quader um sie herum.
Mal schaun was schlussendlich schneller funktioniert.
Und erst wenn das true ist, mache ich die komplexen Kollisionsabfragen.
Aber ich erinnere mich an meinen damaligen Lehrer in Informatik, der andeutete wie das ganze in 3DShootern funktioniert und "Quake" zum ersten mal damit aufkam.
In dem man den Raum in große Blöcke einteilt und diese jeweils wieder in kleinere Blöcke, etc..
Dann überprüft man nur die Objekte die sich jeweils in diesen Blöcken oder Boxen befinden.
Das ist ja zwar ganz nett, und die Theorie hört sich super einfach an.
Nur ist meine Frage wie man dass den macht?
Selbstverständlich kann ich nach Objekten suchen, die sich in einem bestimmten Bereich aufhalten, und diesen Bereich dann immer kleiner machen... nur dann könnte ich ja auch gleich nur ein einziges mal die Variante verwenden, die ich im ersten Absatz erwähnt habe.
Somit müsste ich die Boxen der Objekte nur ein einziges mal miteinander vergleichen und nicht tausendmal die Schleife durchgehen...
Oder habe ich das Prinzip nicht verstanden?
Zum Zusammenfassen nochmal: Wie machte Quake das damals? Warum hunderte von immer kleiner werdenden Boxen überprüfen wenn man es auch ein eizniges mal machen kann.
Gruß
Network
ich möchte untersuchen ob ein paar 3DModels sich schneiden.
Mein erster Gedanke war, dass ich den Komplexen 3DModels ein Radius zuteile um dann zu überprüfen ob sich andere 3DModels sich darin befinden. Evt schließe ich auch einen Quader um sie herum.
Mal schaun was schlussendlich schneller funktioniert.
Und erst wenn das true ist, mache ich die komplexen Kollisionsabfragen.
Aber ich erinnere mich an meinen damaligen Lehrer in Informatik, der andeutete wie das ganze in 3DShootern funktioniert und "Quake" zum ersten mal damit aufkam.
In dem man den Raum in große Blöcke einteilt und diese jeweils wieder in kleinere Blöcke, etc..
Dann überprüft man nur die Objekte die sich jeweils in diesen Blöcken oder Boxen befinden.
Das ist ja zwar ganz nett, und die Theorie hört sich super einfach an.
Nur ist meine Frage wie man dass den macht?
Selbstverständlich kann ich nach Objekten suchen, die sich in einem bestimmten Bereich aufhalten, und diesen Bereich dann immer kleiner machen... nur dann könnte ich ja auch gleich nur ein einziges mal die Variante verwenden, die ich im ersten Absatz erwähnt habe.
Somit müsste ich die Boxen der Objekte nur ein einziges mal miteinander vergleichen und nicht tausendmal die Schleife durchgehen...
Oder habe ich das Prinzip nicht verstanden?
Zum Zusammenfassen nochmal: Wie machte Quake das damals? Warum hunderte von immer kleiner werdenden Boxen überprüfen wenn man es auch ein eizniges mal machen kann.
Gruß
Network
Zuletzt bearbeitet: