Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Erich Lehmann Geändert vor über 9 Jahren
1
Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof. Dr. Thaller SS 2015 Referent: Tim Höfer
2
Absicht und Motivation Effizient Objekte zu lokalisieren, indem Sie sie in einer Datenstruktur durch ihre Positionen organisiert.
3
Einheiten auf dem Spielfeld Funktion „Nahkampf“ Wenn Unit A auf Position von Unit B KAMPF
4
Battle Lines Vorschlag: Statt Units im Array zu speichern nimmt man Battle Lines
5
Das Muster Jedes Objekt hat seinen Platz im Raum (Spielfeld) Objekte werden in räumlichen Datenstrukturen gespeichert Räumliche Datenstruktur lässt Objekte einfacher vergleichen
6
Sample Code Aufteilung in Zellen
7
Ein Netz verlinkter Einheiten 2D: Jede Unit besitzt Position & Pointer zum Grid
8
Ein Netz verlinkter Einheiten Jede Zelle = Pointer zur Unit
9
Ein Netz verlinkter Einheiten Resultat: Doppelte verlinkte Listen statt Arrays!
10
Das Battlefield
11
A Clash of Swords Units in Zellen KAMPF
12
A Clash of Swords Nur noch Einheiten pro Zelle werden verglichen
13
Charging Forward Performance Problem wurde beseitigt Was passiert, wenn die Zelle verlassen wird? Bewegung:
14
Charging Forward
15
At Arm‘s Length
18
Design Decisions Flat partition: Ist einfacher Der Speicherverbrauch ist konstant Aktualisiert schneller bei Positionsveränderung der Objekte Hierarchical partition Behandelt leeren Raum effizienter Behandelt dicht besiedelten Raum effizienter
19
Ist Partitionierung abhängig von der Menge der Objekte? Ziel: Ausgewogene Partitionierung Wenn die Partitionierung objektunabhängig ist Objekte können inkrementell hinzugefügt werden Objekte können schnell bewegt werden Partitionen können unausgeglichen sein Wenn sich Partitionierung objektabhängig ist BSP / k-d trees teilen die Welt rekursiv Partitionen sind dadurch ausgeglichen Es ist effizienter mehrere Objekte auf einmal zu partitionieren
20
Ist Partitionierung abhängig von der Menge der Objekte? Wenn die Partitionierung objektunabhängig ist, aber die Hierarchie die Objekte berücksichtigt
21
Werden Objekte nur in Partitionen gespeichert? Wenn die Objekte nur in der Partition gespeichert werden: Es vermeidet Speicher-Overhead und die Komplexität zweier Sammlungen Wenn es eine zusätzliche Sammlung für die Objekte gibt: Objekt-Anfragen werden schneller durchlaufen
22
Quellen http://gameprogrammingpatterns.com/spatial-partition.html
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.