1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen...

40
Vortrag von: Vortrag von: Irma Sejdic Irma Sejdic Dominik Erdmann Dominik Erdmann Daniel Wilhelm Daniel Wilhelm Christoph Kurz Christoph Kurz 1. Partikelsysteme 1. Partikelsysteme 2. Schwärme 2. Schwärme Teil 1: Partikelsysteme Teil 1: Partikelsysteme Ein Vortrag von: Irma Sejdic & Dominik Erdmann

Transcript of 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen...

Page 1: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 2: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 3: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 4: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 5: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 6: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 7: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 8: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 9: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 10: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 11: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 12: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 13: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 14: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 15: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 16: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 17: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 18: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 19: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 20: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 21: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 22: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 23: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 24: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 25: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 26: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 27: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 28: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 29: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 30: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 31: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 32: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 33: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 34: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 35: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 36: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 37: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 38: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 39: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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

Page 40: 1. Partikelsysteme Teil 1: Partikelsysteme · Anwendung (1) „Genesis-Effekt“ 2 Hierarchiestufen von Partikelsystemen: - Top-Level-System - Einschlagpunkt - emittiert Partikel,

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