Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme Teil 1: PartikelsystemeTeil 1: Partikelsysteme
Ein Vortrag von:Irma Sejdic & Dominik Erdmann
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
1. Partikelsysteme1. Partikelsysteme
Inhalt:Inhalt:
- Einführung- Einführung
- Historischer Überblick- Historischer Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Umwelteinflüsse- Umwelteinflüsse
- Fazit- Fazit
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
EinführungEinführung
Wieso Partikelsysteme?
- Realisierung vieler natürlicher Phänomene, ohne glatte und klar abgrenzbare Oberfläche
- Objekte ohne eindeutig definierbare Form
- weniger Aufwand bei der Generierung der Animation
Anwendungsgebiete: - Wolken - Feuer / Rauch - Explosionen - Flüssigkeiten - Galaxien - Textilien - Bäume / Wälder
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Historischer ÜberblickHistorischer Überblick
- Die Explosion in Videospielen wurde als erstes durch einzelne rot, gelbe und weiße Punkte verwirklicht.
- Explosionspartikel bzw. Pixel wurden explizit und individuell gesetzt.
- 1982 ermöglicht Grafikspezialist William T. Reeves erstmals die automatische Generierung der Partikel .
- 1985 zusammen mit R. Blau ermöglicht durch den Einsatz von Partikelsystemen zur Darstellung von Pflanzen und Bäumen.
- 1987 werden Partikelsysteme zur Darstellung der Vogelschwärmen benutzt.
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
PartikelsystemePartikelsysteme
Man unterscheidet 2 Arten von Partikelsystemen:
- Freie Partikelsysteme: keine Interaktion zwischen den einzelnen Partikeln
Stochastische Partikelsysteme (Feuer, Nebel, Rauch)
Strukturierte Partikelsysteme (Graslandschaften / Wäldern)
- Gebundene Partikelsysteme: interagieren miteinander durch Anstoßen oder Anziehen (Gewebesimulation)
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (1)Aufbau von Partikelsystemen (1)
- Partikelsysteme sind dynamische Systeme.
- Jeder Partikel ist ein dynamischer Teil eines Partikelsystems. Er hat eine endliche Lebensdauer.
- Am Anfang der Modellierung eines Partikelsystems wird ein einzelner Partikel definiert.
Er kann dabei unterschiedliche Form haben.
- Die Attribute der Partikel ändern sich in Abhängigkeit von der Zeit.
Partikelattribute:- Position - Geschwindigkeit- Größe - Farbe- Transparenz - Form / Aussehen- Lebensdauer
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (2)Aufbau von Partikelsystemen (2)
Partikel-Emitter:
- besteht aus einer Abschussstelle und einer Ansammlung fliegender Partikel
- stößt Partikel aus
- kontrolliert Parametergrenzen des Partikelsystems
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (3)Aufbau von Partikelsystemen (3)
Ablaufsequenz der Bildgenerierung
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (4)Aufbau von Partikelsystemen (4)
Partikel-Erzeugung:
zwei Berechnungsverfahren:
1. mittlere Anzahl der Partikel und Varianz pro Frame
nneu = nmittel(t) + (random() × var(nmittel))
2. abhängig von der Größe des Partikelsystems nneu = (nmittel(t) + random() × var(nmittel)) x ScreenArea
Intensitätswachstum und Verringerung nmittel(t) = nintial + ndelta(t-t0)
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (5)Aufbau von Partikelsystemen (5)
Attributzuweisung:
- erfolgt für jeden Partikel individuell
- Standardformel für stochastische Attribut- ermittlung: vinit = vmittel + random() × var(vmittel)
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (6)Aufbau von Partikelsystemen (6)
Partikellebensdauer:
- Lebensdauer pro Partikel als Zahlenwert
- je Schritt wird die Lebensdauer um 1 dekrementiert
Partikellöschung - Lebensdauer überschritten - Wert = 0 - kein Beitrag zum Partikelsystem - ungewollte Parameterannahme
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (7)Aufbau von Partikelsystemen (7)
Aktualisierung der Attribute
- noch vorhandene Partikel werden bewegt
- Aktualisieren der Attribute
- andere werden durch physikalische Gesetze beeinflusst
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (8)Aufbau von Partikelsystemen (8)
Rendering
- Übergabe der Daten an das Rendering- system
Probleme
- Überlagerungen
- Reflexion, Schatten, Transparenz von Partikeln
- Kombination mit oberflächenbasierten Szenen
- selbstleuchtende Partikel
Quelle: [1]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Aufbau von Partikelsystemen (9)Aufbau von Partikelsystemen (9)
Partikelhierarchie - baumartig strukturiert - Partikelsysteme erzeugen neue Partikel - neu erzeugte Partikel sind wiederum Partikelsysteme - mehrere Quellen für neue Partikel - nutzbar für komplizierte Partikelsysteme übergeordnete Partikelsystem (Top-Level-System)
untergeordnete Partikelsysteme (Second-Level-System)
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Anwendung (1)Anwendung (1)
„Genesis-Effekt“
2 Hierarchiestufen von Partikelsystemen:
- Top-Level-System - Einschlagpunkt - emittiert Partikel, welche selbst ein Partikelsystem sind
- Second-Level-System - kreisförmiges Verbreiten neu generierter Partikelsysteme - Anzahl der Partikelsysteme pro Kreis aus einer zuvor fest- gelegten Konstante und Umfang des Kreises - Parameter auf Basis der Eltern
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Anwendung (2)Anwendung (2)
„Genesis-Effekt“:
Ausbreitung: 200 Partikelsysteme, ca. 75.000 Partikel
Startexplosion (1 großes Partikelsystem und 20 kleinere, ca. 25.000 Partikel
Quelle: [2]
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
- Wasserfallbeispiel -- Wasserfallbeispiel -
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Emitter
Kollisionserkennung bei PartikelnKollisionserkennung bei Partikeln
- Berechnung auf Grafikkarte
- Stateless-Partikelsystem leicht zu implementieren
- dynamisches Partikelsystem besser für Kollisionsabfrage und Reaktion
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Berechnung auf GPUBerechnung auf GPU
- Berechnung durch Stream-Processing auf dem Fragment-Shader
- Durch „depth maps“ werden Normalvektoren in die Textur gespeichert.
- verschiedene Kollisionstechniken:
Annäherung durch Grafikkarte berechnet, Kollisionabfrage selbst auf CPU
Kollision von der Grafikkarte erkannt, CPU nur noch für Reaktion nötig
- Beschleunigung durch weg‘glätten‘ kleinerer Unebenheiten, wodurch größere Flächen entstehen => schnellere Berechnung
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Berechnung der PartikelBerechnung der Partikel
- Partikel in Texturen gespeichert (dadurch simultanes Update möglich)
- Kollisionsberechnung auch durch Stream-Processing (auch für mehrere Partikel simultan möglich)
- Werte, die sich nicht ändern (Farbe, Größe, etc.), werden nicht immer neu berechnet und vom Stream ausgeschlossen.
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
- Lösung: doppelte Berechnung: vorher -> nachher
Probleme bei der BerechnungProbleme bei der Berechnung
- Was passiert wenn 2 Objekte eng nebeneinander sind?1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
WasserfallbeispielWasserfallbeispiel
Zusammenführung aller Partikeleigenschaften: - Emitter - physikalische Einflüsse - Kollision mit Objekt und resultierende Ablenkung - Kollision mit Boden und vorgegebene Reaktion
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
FazitFazit
Kombination aus
- einfachen Grafikobjekten
- Abhängigkeiten und Regeln
- Einfluss von Zufallsgrößen
sehr gute Simulation von (natürlichen) Phänomenen
- mit herkömmlichen Methoden kaum zu realisieren
- Aufwand bei Erzeugung auf Designerseite relativ gering
- Kollisionsberechnung für Partikel durch Stream-Processing
- Grafikkarte entlastet soweit wie möglich CPU
1. Partikelsysteme1. Partikelsysteme
- Einführung- Einführung
- Überblick- Überblick
- Aufbau- Aufbau
- Anwendung- Anwendung
- Kollision- Kollision
- Fazit- Fazit
2. Schwärme2. Schwärme
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme Teil 2: SchwärmeTeil 2: Schwärme
Ein Vortrag von:Daniel Wilhelm & Christoph Kurz
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Entstehung- Entstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Inhalt:Inhalt:
- Entstehung- Entstehung
- auf der Grafikkarte- auf der Grafikkarte
- Kollisionsvermeidung- Kollisionsvermeidung
- Umsetzung- Umsetzung
- Ausblick- Ausblick
- Literatur / Fazit- Literatur / Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Von Partikelsystemen zu Schwärmen:Von Partikelsystemen zu Schwärmen:
Die UnterschiedeDie Unterschiede
Partikelsysteme:
- begrenzte Lebenszeit der Partikel
- Gesamteindruck ist maßgebend
- Partikel sind wenig komplex
- Partikel folgen passiv dem Bewegungsablauf
Schwärme:
- Lebenszeit nicht begrenzt, solange wie der Schwarm
- dynamischer Eindruck ist maßgebend
- komplexe Akteure
- Akteure greifen aktiv in das Geschehen ein
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Entstehung- Entstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Die Entstehung:Die Entstehung:
- erste komplett animierte Filmsequenz 1987
- Craig Reynolds [1] stellte einen komplexen Vogelschwarm dar
- jedes Schwarmmitglied („Akteur“) hatte einfache Regeln:
Kollisionsvermeidung (Akteure vermeiden selbstständig Kollisionen)
Geschwindigkeitsanpassung (Akteure passen Geschwindigkeit den Nachbarn an)
Schwarmzentrierung (Akteure versuchen zusammenzubleiben)
Diese Grundregeln gelten noch heute
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Schwärme auf der Grafikkarte:Schwärme auf der Grafikkarte:
1.) Die Akteure 1.) Die Akteure
- Jeder Akteur ist durch bestimmte Parameter definiert. (z.B. Gewicht, Geschwindigkeit, Sichtfeld, etc.)
- Konstante Parameter werden bei der Initialisierung festgelegt. (z.B. Masse, Höchstgeschwindigkeit, etc.)
- Variable Parameter werden jeden Frame aktualisiert. (z.B. aktuelle Geschwindigkeit und Position)
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Schwärme auf der Grafikkarte:Schwärme auf der Grafikkarte:
2.) Datenstruktur 2.) Datenstruktur
Zum Speichern der Daten wird eine Matrix benutzt („CellGrid“):
- einfaches auslesen der Nachbarn eines Akteurs
- einfaches Aktualisieren des Schwarmes
Flaschenhals:Dieser Teil der Simulation läuft auf der CPU ab, da diese simultanen Lese- und Schreibzugriff auf den Speicher hat.
Aufgrund des großen Datenaustausches zwischen CPU und GPU ist dies trotz PCIe ein sehr zeitaufwendiger Prozess
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Schwärme auf der Grafikkarte:Schwärme auf der Grafikkarte:
3.) Steuerverhalten 3.) Steuerverhalten
Für jeden Akteur werden 4 Nachbarn gespeichert.Aus diesen Nachbarn wird das Steuerverhalten berechnet:
Weitere Steuerverhalten:
- Schwarmführer
- „Individuelle Note“
Bildquelle: http://www.red3d.com/cwr/boids/
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
1.) Grundmodell 1.) Grundmodell
- „Kraftfeldmodell“: Ein Kraftfeld umgibt das Objekt.
- Sobald ein zweites Objekt in dieses Kraftfeld fliegt, wirkt eine Ablenkkraft auf dieses.
- Je näher der zweite Vogel dem ersten Vogel kommt, desto größer wird die Ablenkkraft.
Bewegungsrichtung
Ablenkkraft Flugbahn
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
2.) Problem 12.) Problem 1
- Was passiert, wenn 2 Vögel direkt aufeinander zufliegen?1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
2.) Problem 12.) Problem 1
- Alternativ dazu: Sie fliegen hintereinander her, v2 ist größer als v1
Fazit: Unnatürliches Verhalten, da beide Vögel abgebremst werden und „in der Luft“ stehen bleiben oder aber unnatürlich beschleunigen.
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
3.) Lösung zu Problem 13.) Lösung zu Problem 1
- „Steer to avoid“: Hindernisse werden nur im Sichtfeld erkannt.
- Jeder Vogel bekommt eine eigene „Individuelle Note“.
- Mit der individuellen Note können auch andere Probleme umgangen werden (z.b. Ausweichkurs ≠ Mittelpunktkurs).
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
4.) Problem 24.) Problem 2
Folgendes Szenario sei gegeben:
- Ein Vogelschwarm fliegt auf eine Gartenmauer mit flacher Oberseite zu, ohne einen Kollisionskurs zu haben.
- Umgibt man diese Mauer mit dem eben gezeigten Kraftfeld, so würden die Vögel eine Ablenkkraft erfahren, welche die Vögel unnatürlich abbremsen und ablenken würde.
- Lösung:
Normalenvektor(Mauerfläche) • Richtungsvektor(Vogel)
- Ergebnis = 0: Vogel und Mauer sind parallel Ergebnis > 0: Vogel fliegt von der Mauer weg Ergebnis < 0: Vogel fliegt auf die Mauer zu
Reaktion: Ablenkungskraft
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Kollision auf der Grafikkarte:Kollision auf der Grafikkarte:
4.) Problem 34.) Problem 3
Dies führt zu einem weiteren Problem: „Lack of Time“.
Zeitschlitz: iZeitschlitz: i + 1
Lösung:
Vorausberechnung der Flugrouten jedes Akteures für mehrere Zeitschlitze, um mögliche Kollisionen frühzeitig zu erkennen und zu reagieren.
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Umsetzung auf der Grafikkarte:Umsetzung auf der Grafikkarte:
- alle Berechnungen sind unabhängig voneinander besonders gut als Stream & Kernel auf der GPU
- Berechnung im Fragmentprozessor, da dieser aus Texturen lesen und in selbige schreiben kann.
- Informationen eines Akteurs werden in den Pixeln einer Textur gespeichert
- da meist viele Informationen für einen Akteur, existieren mehrere Texturen für einen Akteur
- alle Texturen eines Akteures werden in den Framebuffer geschrieben und daraus berechnet „OffScreen-Rendering“
- „Multipass-Schema“: Die Ausgabe des FP wird als Eingabe benutzt. So wird das Instruktionslimit im FP umgangen.
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Umsetzung auf der Grafikkarte:Umsetzung auf der Grafikkarte:
Neighboursearching auf der CPUNeighboursearching auf der CPU
- Nachbarn müssen jeden Frame gesucht werden uneffektiv, da nicht immer die Nachbarn wechseln
- Lösung: 3 x 3 x 3 Matrix („Scattering Matrix“)
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Weiterführende Literatur / Links (Schwärme):Weiterführende Literatur / Links (Schwärme):
[1] http://www.red3d.com/cwr (Homepage von Craig Reynolds)
[2] http://isis.dia.unisa.it/Publications/Boids (Simulation eines Vogelschwarmes)
[3] http://www.cs.unc.edu/~hantak/classes/COMP290058F04/ project_proposal/index.html (Nanobots)
Quelle [1]: www2.informatik.uni-wuerzburg.de/staff/holger/ lehre/osss02/sauer/vortrag.pdf?i2statuslang=en
Quelle [2]: Bilder aus Star Trek 2 „The Wrath of Khan“
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit
Vortrag von:Vortrag von:
Irma SejdicIrma SejdicDominik ErdmannDominik ErdmannDaniel WilhelmDaniel WilhelmChristoph KurzChristoph Kurz
Zusammenfassung:Zusammenfassung:
Entstehung von Schwärmen
Aufbau von Schwärmen
Kollisionsvermeidung
Berechnung des Steuerverhaltens auf der GPU
Nachbarsuche auf der CPU
1. Partikelsysteme1. Partikelsysteme
2. Schwärme2. Schwärme
- Einstehung- Einstehung
- auf der GraKa.- auf der GraKa.
KollisionKollision
UmsetzungUmsetzung
- Beispiele- Beispiele
- Ausblick- Ausblick
- Fazit- Fazit