Verwalten von vielen Modellen



  • Hi!

    Wie kann man viele bewegliche Modelle am besten verwalten? Für das Terrain benutze ich einen Quadtree ebenso für nicht bewegliche Modelle. Aber wie sieht das mit beweglichen Modellen aus?

    Ich brauche einen Baum mit dem ich möglichst schnell viele Modelle schnell auf kollision testen kann.



  • Ich habe mal von Sphere Trees gelesen, das war glaube in einem der Game Gems. Ansonsten einfach in ein regelmaessiges Grid passender Rasterung eintragen, dort kann man schnell alle evtl. Nachbarn finden. f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)


  • Mod

    dafuer verwendet man meistens sweep&prune



  • Davon habe ich schon gehört, aber kann mir nicht vorstellen das das tatsächlich so schnell ist.

    Im moment habe ich das so verstanden, das man vom zu testenden Objekt Linien in alle Axenrchtungen schießt, und dann einfach alle BoundingBoxes der anderen Modelle nimmt und testet, ob es mit der geschossenen Achse kollidiert.

    Also einfach ausgedrückt testet man einfach nur AABoundingBox mit AABoundingBox. Das mache ich ja jetzt schon, und das finde ich nicht gerade schnell.



  • Code-Walker schrieb:

    Im moment habe ich das so verstanden, das man vom zu testenden Objekt Linien in alle Axenrchtungen schießt, und dann einfach alle BoundingBoxes der anderen Modelle nimmt und testet, ob es mit der geschossenen Achse kollidiert.

    Du vergisst den wichtigsten Punkt, naemlich das vorher alle Objekte entlang dieser Achsen sortiert werden und man so seine Nachbarn kennt und nicht erst suchen muss. f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)



  • Okay jetzt macht das ganze Sinn. Jetzt frage ich mich nur wie man diese am schnellsten sortiert, denn das kostet ja schließlich auch eine menge Zeit.



  • Indem man annimmt, das die Sortierung fast immer gleich ist und man deswegen nur wenige Objekte vertauschen muss. f'`8k

    Autocogito

    Gruß, TGGC (Was Gamestar sagt...)



  • Hallo,

    Wie kann man viele bewegliche Modelle am besten verwalten?

    Dafür gibt es mehrere Möglichkeiten. Wenn gilt
    AnzahlObjekte >> Dimensionen
    währe z.B. der Kd-Tree eine Alternative.

    Für Koliosionsabfragen bzw. nächsten Nachbar sind R-Tree sehr gut geeignet. Einfach mal ein wenig google'n


Log in to reply