460 likes | 673 Views
Partikel Systeme Ausarbeitung von Jonas Stahl. Übersicht:. Grundlagen eines Partikel Systems Beispiele mit Erläuterung verschiedener Techniken (Demoprogramm) Kurzer Einblick in Erstellung von Partikel Systemen mit Maya. William T. Reeves:.
E N D
Partikel SystemeAusarbeitung vonJonas Stahl Seminarvortrag Partikel Systeme
Übersicht: • Grundlagen eines Partikel Systems • Beispiele mit Erläuterung verschiedener Techniken • (Demoprogramm) • Kurzer Einblick in Erstellung von Partikel Systemen mit Maya Seminarvortrag Partikel Systeme
William T. Reeves: • Reeves ist sozusagen der Urvater der Partikel Systeme.1983 veröffentlicht er das Paper „Particle Systems: A Technique for Modeling a Class of Fuzzy Objects“ und beschreibt dort erstmals die Erschaffung eines Partikel Systems • 1980 -1986: Arbeit bei Lucasfilm / ILM • 1986-???: Pixar • Mitgearbeitet an:- Star Trek II: The Wrath of Khan (später noch genauer)- Return of the Jedi- Luxo Jr. (Pixar Lampe) (Academy Award Nominierung)- Tin Toy (Academy Award für Bester Kurzfilm) Seminarvortrag Partikel Systeme
Karl Sims: • Studierte bis 1987 am MIT • Zur Zeit Chef von GenArts (Stellt Spezialeffekte her) • 1990 Veröffentlichung des Papers „Particle Animation and Rendering Using Data Parallel Computation“ • Aus seinem Video “Particle Dreams“ von 1988 sind einige meiner Beispiele. Seminarvortrag Partikel Systeme
Grundlagen eines Partikel Systems: nach Reeves Seminarvortrag Partikel Systeme
Partikel: Was ist ein Partikel? • Der Grundgedanke Reeves stellt sich ein Partikel als ein minimales Teilchen vor… • Sandkorn • Funke • Wassertropfen • Schneeflocke Seminarvortrag Partikel Systeme
Partikel Eigenschaften: Die Partikel in einem Partikel System können verschiedenste Eigenschaften haben, die von der benötigten Funktion im speziellen System abhängig sind. Haupteigenschaften: • Position • Geschwindigkeit / Bewegungsrichtung • Lebenszeit / Energie Optionale Eigenschaften: • Größe • Transparenz • Form • Farbe • Letzte Position Seminarvortrag Partikel Systeme
Systemkern: Jedes Partikel System besitzt einen Systemkern, der das Partikelsystem „verwaltet“. • Erzeugung und Zerstörung von Partikeln • Steuerung der Partikel • Äußere Einflüsse wie z.B. Gravitation, Wind • Definiert Koordinatensystem • Können hierarchisch gegliedert sein. Es kann also mehrere Systemkerne geben Seminarvortrag Partikel Systeme
Phasen eines Partikel Systems: Die Erstellung eines einzelnen Frame unterteilt Reeves in 5 Phasen. • Generierung neuer System Partikel • Zuordnung von Attributen an neue Partikel • Entfernen von Partikeln • Transformation der Partikel • Rendern des neuen Frames Seminarvortrag Partikel Systeme
(1)Generierung neuer System Partikel: • Startposition der neuen Partikel ist im Systemkern festgelegt. • Nach Reeves ist die Anzahl der erzeugten Partikel sowohl von festen Werten als auch von stochastischen Anteilen abhängig.NPartsf = MeanPartsf + Rand() * VarPartsfNPartsf: Gesamtanzahl an emittierten PartikelnMeanPartsf: Die Durchschnittliche Anzahl an emittierten PartikelnVarPartsf: VarianzwertRand(): Zufallsfunktion liefert Wert zwischen -1 und 1 Seminarvortrag Partikel Systeme
(1)Generierung neuer System Partikel: • Diese Formel lässt sich noch erweitern, wenn man in Betracht zieht, das auf einem kleinen Bildabschnitt weniger Partikel emittiert werden müssen. NPartsf = (MeanPartsSA(f) + Rand() * VarPartsSA(f)) * ScreenArea Seminarvortrag Partikel Systeme
(2)Zuordnung von Attributen an neue Partikel: • Jedem neuen Partikel werden die im System definierten Eigenschaften zugewiesen. • Die Initialwerte können vom Systemkern begrenzt sein • Farbbereich • Ausstoßrichtung • min/max Geschwindigkeit • min/max Lebenszeit Seminarvortrag Partikel Systeme
(2)Zuordnung von Attributen an neue Partikel: • Um das System realistischer zu gestalten, sollte in einige Werte ein stochastischer Anteil integriert sein.Die Geschwindigkeit z.B. wird nach Reeves ähnlich wie bei (1) bestimmt.InitialSpeed = MeanSpeed + Rand() * VarSpeed Seminarvortrag Partikel Systeme
(3)Entfernen von Partikeln: • Entfernung, weil Lebenszeit abgelaufen • z.B. bei Feuerpartikeln, wenn sie abgekühlt sind • Entfernung, weil Systembereich verlassen Seminarvortrag Partikel Systeme
(4)Transformation der Partikel: Die Attribute der Partikel, die sich jetzt noch im System befinden, werden verändert. Insbesondere: • Geschwindigkeit • Position Aber auch optional: • Farbe • Form • Transparenz • uvm… Seminarvortrag Partikel Systeme
(5)Rendern des neuen Frames: Nachdem Position und Eigenschaften der Partikel für den neuen Frame festgelegt wurden, wird das Bild erstellt. Seminarvortrag Partikel Systeme
Beispiele: Im folgenden werde ich versuchen an Beispielen grundlegende Techniken zu erläutern. Grundsätzlich können die vorgestellten Effekte auch in anderen der Beispiel auftreten, aber ich habe mir jeweils die Beispiele ausgesucht, wo es am besten zu sehen ist. • Hüpfende Bälle • Feuer • Schnee • Wasserfall Seminarvortrag Partikel Systeme
Beispiel Hüpfende Bälle: Seminarvortrag Partikel Systeme
Beispiel Hüpfende Bälle: Was braucht man alles für das animieren eines solchen Clips? • Schwarmalgorithmen (nächster Vortrag) • Allgemeine Transformationen • Geschwindigkeit • Position • Gravitation • Spezielle Transformationen: • Regeln für das Abprallen (Bouncing) von Partikeln Seminarvortrag Partikel Systeme
Neue Partikelgeschwindigkeit: t: Zeit, die ein Frame dauert Beschleunigung zu einem Punkt (Newtonsches Gravitationsgesetz): G: Gravitationskonstante m0: Masse des Zentrums O: Zentrum der wirkenden Kraft P: Partikel Position Konstante Beschleunigung in vorgegebene Richtung r: r: Richtung der Beschleunigung Seminarvortrag Partikel Systeme
Bestimmung der neuen Partikelposition: • Die neue Partikel Position ist abhängig von der aktuellen Geschwindigkeit V des Partikels und der neuen Geschwindigkeit V‘. • Reaktion auf Kollision (Bouncing) • Zusätzlich kann man die Position noch verändern, ohne etwas an der Geschwindigkeit zu verändern. • z.B. um fallenden Objekten eine horizontale Bewegung zu geben (Schneeflocken). • Simulation von Wirbeln (Feuer) t: Dauer eines Frames Seminarvortrag Partikel Systeme
Abprallen an Oberflächen (Bouncing): • Formel ohne Energieverlust: • Formel mit Energieverlust : Dämpfungsfaktor(0..1) : Reibungsfaktor(0..1) Vn: Geschwindigkeit in Normalenrichtung Vt: Geschwindigkeit in Tangentenrichtung Seminarvortrag Partikel Systeme
Beispiel Feuer: Was braucht man? Spezielle Transformationen: • Wirbel Seminarvortrag Partikel Systeme
Wirbel (Vortex): Wirbel werden in Partikel Systemen genutzt, um Wind zu simulieren. Ein Wirbel ist definiert durch… • Rotationsachse • Zentrum • Stärke (magnitude) • Enge (tightness) Jedes Partikel wird abhängig von der Entfernung R zum Wirbelzentrum um den Winkel um die Rotationsachse gedreht.. Seminarvortrag Partikel Systeme
Wirbel: „The Second Order Particle System“ Tommi Ilmonen Ein Beispiel, wie mit Hilfe von Wirbeln eine Galaxy realisieren kann. Seminarvortrag Partikel Systeme
Wirbel: Bild erstellt mit verschiedenen Wirbeln [Illmonen] Bild erstellt ohne Wirbel [Illmonen] Seminarvortrag Partikel Systeme
Bild 1 Bild 2 Bild 4 Bild 3 Seminarvortrag Partikel Systeme
Beispiel Schnee: Seminarvortrag Partikel Systeme
Beispiel Schnee: Was braucht man? Spezielle Transformationen: • Wirbel • Dämpfung / Luftwiderstand • Spirale Seminarvortrag Partikel Systeme
Dämpfung (Damping): Dämpfung benötigt man um z.B. zur Simulation von Luftwiderstand. • treshold (Schwelle): Der treshold Wert ist eine Grenze, an die sich die Geschwindigkeit annähert. • Abschwächungs Parameter d:d>0: Das Partikel wird bis auf die treshold Geschwindigkeit abgebremst.(d<0: Das Partikel wird bis auf die treshold Geschwindigkeit beschleunigt.) Seminarvortrag Partikel Systeme
Spirale: Für jedes Partikel, das sich spiralförmig bewegen soll werden • Spiral Achse (Axis) • Spiral Geschwindigkeit s (Winkel/Zeit) definiert. Der Geschwindigkeitsvektor V wird um den Winkel um die Spiral-Achse gedreht = s *t • Je nach Wahl der Achse lassen sich verschiedene Bewegungsmuster erzeugen. Seminarvortrag Partikel Systeme
Schnee Anschauungsbeispiel 2: Seminarvortrag Partikel Systeme
Beispiel Wasserfall: Spezielle Transformationen: • Abprallen (Bouncing) Spezielle Technik: • Motion Blurring Sims „Particle Dreams“ Seminarvortrag Partikel Systeme
Motion Blurring • Motion Blurring ist ein Effekt, der normalerweise beim Fotografieren von bewegten Objekten entsteht. (gewollt / ungewollt) • Geschieht, weil das Bild über einen gewissen Zeitraum aufgenommen wird. • In der Computergrafik wird dieser Effekt erzeugt, um bewegte Bilder flüssiger erscheinen zu lassen. Seminarvortrag Partikel Systeme
Motion Blurring: Motion Blurring in Partikel Systemen: • Jedes Partikel hat aktuelle und letzte Position gespeichert. • Zwischen dieses Positionen werden Partikelfarbe, Form und Transparenz interpoliert • Alternativ können sich diese Eigenschaften auch zwischen Aktueller und Letzter Position ändern um spezielle Effekte zu erzeugen Sims „Particle Dreams“ Seminarvortrag Partikel Systeme
Beispiel Wasserfall: • In der folgenden Wasserfall Animation nutzt Sims Motion Blurring, um das „fließen“ des Wassers hervor zu heben. • Er interpoliert dabei zwischen aktueller und letzter Position. Sims „Particle Dreams“ Seminarvortrag Partikel Systeme
Beispiel Wasserfall: Sims „Particle Dreams“ Seminarvortrag Partikel Systeme
„Genesis-Effekt“ • Als den „Genesis-Effekt“ bezeichnet man eine Szene aus dem Film „Star Trek II: The Wrath of Khan“. • Die Animation wurde erstellt von William T. Reeves (Lucasfilm Ltd) • Wird beschrieben in seinem Paper „Particle Systems: A Technique for Modeling a Class of Fuzzy Objects“ • Erster Einsatz eines Partikel Systems Seminarvortrag Partikel Systeme
„Genesis-Effekt“ Seminarvortrag Partikel Systeme
„Genesis-Effekt“ Wie hat Reeves sein Partikel System aufgebaut? • Nutzung einer Zwei-Level Partikel System Hierarchie • Das Hauptsystem (Top-Level System) legt er in den Aufschlagpunkt. • Es erzeugt keine Partikel sondern Partikel Systeme (Second-Level Systeme). Seminarvortrag Partikel Systeme
„Genesis-Effekt“: Top-Level System • Erzeugt auf den Ringen Second-Level Systeme • Anzahl der Second-Level Systeme auf dem Ring ist von dem Umfang und einem Dichte Wert abhängig • Dadurch wird eine „Feuerwand“ erzeugt Seminarvortrag Partikel Systeme
„Genesis-Effekt“: Second-Level System • Die erzeugten Second-Level Systeme unterscheiden sich in… • Größe des Ausstoßgebietes R • Ausstoß Winkel • Mittlere Geschwindigkeit, Lebenszeit und Größe der Partikel • Die Werte der erzeugten Partikel ergeben sich aus den für das System definierten mittleren Werten und einem Zufallswert • Einzige wirkende Kraft ist die Gravitation Seminarvortrag Partikel Systeme
Tools zur Erstellung von Partikel Systemen: • Maya • Blender • 3D Studio Max • Afterburn • Realflow Seminarvortrag Partikel Systeme
Filme: Partikel Systeme in Filmen:Es ist schwer etwas genaues zu finden, da Partikel Systeme heute nicht mehr als besonderes Feature aufgeführt werden. Relativ sicher weiß ich nur… • „Herr der Ringe“, Balrog Animation mit Maya Partikel Systemen • „Die Mumie“, Sandanimation • „Hidalgo“, Sandanimation • „Star Trek II“, beschriebener Genesis-Effekt Seminarvortrag Partikel Systeme
„Herr der Ringe“, Balrog „Hidalgo“, Sandsturm Seminarvortrag Partikel Systeme
Quellen: • van der Burg, John; Building an Advanced Particle System, Game Developer Magazine, 03/2000 • Ilmonen, Tommi; Kontkanen, Janne; The Second Order Particle System, 2003 • McAllister, David K.; The Design of an API for Particle Systems, 2000 • Reeves, William T.; Particle Systems – Technique for Modeling a Class of Fuzzy Objects, 1983 • Sims, Karl; Particle Animation and Rendering Using Data Parallel Computation, 1990 • Lutz Latta: Building a Million Particle System, 2003 Seminarvortrag Partikel Systeme