Ich baue seit einiger Zeit im Rahmen meiner eigenen 3D Engine an einem Partikelsystem und dachte mir, ich stelle es euch hier mal vor. Das System ist komplett 3D-Orientiert und bietet sich damit also erstklassig fuer IndoorEngines und dergleichen an.
Jeder Partikeleffekt basiert auf einem Kegelstumpf, der den Emissionskörper darstellt. Man kann mithilfe dieser Basis jeden Effekt von Saeulen bis hin zu kugelartigen Emissionen realisieren, wobei ich den Emissionstyp aber auch noch erweitern werde. Man kann sowohl Bottom- als auch Topradius, Speed, Acceleration, Color, die LiveSpan des gesamten Effekts, die LiveSpan der einzelnen Partikel, die Emissionsrate, die Anzahl der Partikel und die Anzahl der Partikel pro Emission sowie die Texturgröße und die Emissionsposition angeben.
Nebenbei lässen sich noch Wireframes einschalten.
Man kann ein beliebige Menge von Fadern nutzen, wobei man angeben kann, wann sie beginnen, wann sie enden, und von welchem zu welchem Alphawert geblendet wird.
Magnetpunkte und Gravitationsrichtungen kann man ebenso einstellen und ihre AffectingTime mit angeben.
Das System basiert bisher nur auf Billboards, wird aber bald auch auf PointSprites erweitert.
Ich poste einfach mal ein paar Screens, um das ganze zu verdeutlichen
Standartemissionen:
[url=
inact.delphigl.com/screens/screen1.jpg]
[/url]
Mit Wireframe, Betrachtung von oben:
[url=
inact.delphigl.com/screens/screen3.jpg]
[/url]
Mit MagnetPoints:
[url=
inact.delphigl.com/screens/screen4.jpg]
[/url] [url=
inact.delphigl.com/screens/screen5.jpg]
[/url] [url=
inact.delphigl.com/screens/screen6.jpg]
[/url] [url=
inact.delphigl.com/screens/screen7.jpg]
[/url] [url=
inact.delphigl.com/screens/screen8.jpg]
[/url]
Verschieden RandomInaccurances:
[url=
inact.delphigl.com/screens/screen9.jpg]
[/url] [url=
inact.delphigl.com/screens/screen10.jpg]
[/url]
Dies und das ^^:
[url=
inact.delphigl.com/screens/screen11.jpg]
[/url] [url=
inact.delphigl.com/screens/screen12.jpg]
[/url] [url=
inact.delphigl.com/screens/screen13.jpg]
[/url] [url=
inact.delphigl.com/screens/screen14.jpg]
[/url] [url=
inact.delphigl.com/screens/screen15.jpg]
[/url]