Diskussion:Partikelsystem

Aus DGL Wiki
Version vom 24. Februar 2009, 21:20 Uhr von Coolcat (Diskussion | Beiträge) (Status "Exzellent" entfernen)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Wie mir Coolcat gerade mitteilte könnte man noch ein paar Ergänzungen einbauen. Mehr Infos zu Emittern und evtl. auch Kraftfeldern können nicht schaden. --Flash 21:50, 5. Feb. 2009 (UTC)

Man könnte auch zumindest erwähnen, dass man Partikelsystem heutzutage auf der GPU macht. --Coolcat 21:58, 5. Feb. 2009 (UTC)

Status "Exzellent" entfernen

In diesem Artikel fehlt so einiges. Ich bitte daher darum den Status "Exzellent" zu entfernen, bis jemand die folgenden Dinge eingearbeitet hat. Keine Garantie für meine Bezeichnungen, es sollte jemand recherchieren ob man die Dinge wirklich so nennt.

  • Emitter
Ein Emitter erzeugt die neuen Partikel. Dabei gibt er den neuen Partikel eine Position, Geschwindigkeit und so weiter. Der Emitter hat selbst eine Position und Ausrichtung. Man kann ihn also zum Beispiel an ein anderes Objekt (Fahrzeug des Spielers, whatever..) in der Szene heften. Es gibt verschiedene Typen:
  • Kugel (Partikel werden kugelförmig abgestrahlt)
  • Scheibe (...scheibenförmig...)
  • Kegel (Partikel-Fontäne)
  • ...
  • Kraftfelder (ForceFields)
Kraftfelder üben Kräfte auf die Partikel aus. Beim Partikelupdate wird über alle aktiven Kraftfelder iteriert. Es wird immer die velocity um einen mit timeElapsed skalierten Wert verändert. Dies sorgt für weiche Bewegungen.
  • Const-Field (konstantes Feld) : übt eine konstante Beschleunigung aus, z.B. Wind, Gravitation
  • Damping-Field (Dämpfungsfeld) : bremst die Partikelbewegung, z.B. Luftwiderstand, etc.
z.B. velocity -= velocity*timeElapsed*0.3f
  • Noise/Turbulence : Luftverwirbelungen
eine einfache Implementierung addiert einfach einen mit timeElapsed skalierten Zufallsvektor auf die velocity
  • lokale Felder, Felder die nur lokale Auswirkungen haben:
  • ein Ventilator, z.B. Zylinder-Form: alles was im Zylinder ist, wird in eine bestimmte Richtung gezogen.
  • ...
  • Kollision mit der Szene (hier kann es Sinn machen auch die Position direkt zu verändern)
  • Unterschied zwischen stateless und state-preserving Partikelsystem (Quelle)
    • stateless Systeme haben keine veränderlichen Daten für die Partikel. Position, Farbe, usw. wird ausschließlich anhand der aktuellen Zeit berechnet. Man könnte also zwischen ein paar Keyframes interpolieren oder sowas. Wird kaum verwendet, aber erwähnen sollte man es...
    • state-preserving das was man normalerweise macht und auch bereits im Artikel beschrieben wird. Jeder Artikel hat einen Zustand der iterativ aktualisiert wird.
  • erwähnen das man Partikel heutzutage auf der GPU rechnet
  • kurzer Hinweis auf alternative Techniken: z.B. Fluid-Simulation mit Volumentexturen

--Coolcat 19:19, 24. Feb. 2009 (UTC)