Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
partikel_effekte [2015/08/18 22:16]
127.0.0.1 Externe Bearbeitung
partikel_effekte [2015/08/19 16:10]
milkyway
Zeile 1: Zeile 1:
-<​html>​ +====== Partikel-Effekte ======
-<​head>​ +
-</​head>​+
  
-<​h1>​Zunächst sei gesagt...</​h1>​+Eine bebilderte Übersicht der original Partikel-Effekte ist nicht hier, sondern in der pfx-Datenbank zu finden: [[pfxdatenbank]].
  
-0.) ... dass mir bekannt ist, dass durch die breite Tabelle das Seitenlayout eventuell gesprengt wird. Auch sonst gewinnt weder Aussehen noch Seitenquelltext einen Schönheitspreis.<​!-- wie du siehst habe ich nicht gelogen! Schau dir bloß das gehacke mit der Fontgröße unten an!--><​br/>​ +=====Zunächst sei gesagt... =====
-1.) ... dass es bereits (mindestens) eine gute Einführung in Partikeleffekte,​ nämlich <a href="​http://​www.worldofgothic.de/​modifikation/​index.php?go=particelfx">​hier</​a>​ gibt. Diese ist leider nicht editierbar. Sie setzt einige Schwerpunkte nicht, die ich hier setzen werde, ist aber dafür vielleicht an anderen Stellen anschaulicher.<​br/>​ +
-2.) ... Partikeleffekte sind nur dann schwierig, wenn man nicht weiß, was die einzelnen Eigenschaften bedeuten. Also viel Spaß und DON'T PANIC!<​br/>​+
  
-<​h1>​Was sind Partikeleffekte</h1>+ *... dass mir bekannt ist, dass durch die breite Tabelle das Seitenlayout eventuell gesprengt wird. Auch sonst gewinnt weder Aussehen noch Seitenquelltext einen Schönheitspreis. 
 +  *... dass es bereits (mindestens) eine gute Einführung in Partikeleffekte, nämlich [[http://​www.worldofgothic.de/​modifikation/​index.php?​go=particelfx|hier]],​ gibt. Diese ist leider nicht editierbar. Sie setzt einige Schwerpunkte nicht, die ich hier setzen werde, ist aber dafür vielleicht an anderen Stellen anschaulicher. 
 +  *... Partikeleffekte sind nur dann schwierig, wenn man nicht weiß, was die einzelnen Eigenschaften bedeuten. Also viel Spaß und DON'T PANIC!
  
-Ein Partikeleffekt ist ein mathematisch präzise beschriebener,​ meist randomisierter Effekt, mit dem versucht wird meist chaotische (wie Feuer) oder amorphe (wie Nebel) Gebilde darzustellen. Dazu werden viele gleichartige Elemente (Partikel) nach einer bestimmten Vorschrift gezeichnet.<​br/>​ +=====Was ​sind Partikeleffekte=====
-Einen Partikeleffekt in Gothic zeichnet aus:<​br/>​ +
-<​br/>​ +
-0.) Der Emitter: Die Menge der Punkte an der Partikel entstehen können. Oft ein einzelner Punkt, manchmal aber auch eine Kugel, ein Quader oder ein anderes Gebilde.<​br/>​ +
-1.) Die Partikel: Partikel ​sind Decals, das heißt flache Texturen, die im Raum herumschweben.<​br/>​ +
-2.) Eine Vorschrift, die beschreibt, wann wieviele Partikel erzeugt werden, in welche Richtung sie fliegen, wie groß sie sind und wie die Farben der Textur mit dem Hintergrund verrechnet werden (und manches mehr).<​br/>​ +
-<​br/>​ +
-Die genauen Eigenschaften und deren Bedeutung sind in folgender Tabelle gelistet.<​br/>​+
  
-<​h1>​Anmerkungen zur Tabelle</​h1>​+Ein Partikeleffekt ist ein mathematisch präzise beschriebener,​ meist randomisierter Effekt, mit dem versucht wird meist chaotische (wie Feuer) oder amorphe (wie Nebel) Gebilde darzustellen. Dazu werden viele gleichartige Elemente (Partikel) nach einer bestimmten Vorschrift gezeichnet.
  
-BOOL: In Gothic ​gibt es formal keine Boolschen-Werte. Alle Werte, die ich als "​BOOL"​ gekennzeichnet habe sind technisch gesehen Integerwerte,​ die aber nur den Informationsgehalt eines Bits haben. Eine 0 entspricht FALSE, alle anderen Werte entsprechen TRUE.<​br/>​ +Einen Partikeleffekt in Gothic ​zeichnet aus:
-clMit "​cl"​ als Einheit meine ich einen Abstand von 1 in der Farbscale von 0 und 255, wobei 0 das Minimum und 255 das Maximum darstellt. Tatsächlich muss man sich solche Zahlen aber als Werte zwischen 0.0 (0) und 1.0 (255) darstellen.<​br/>​ +
-Andere Einheiten: cm (Centimeter),​ s (Sekunden), ms (Millisekunden)<​br/>​ +
-|X|: Die Anzahl der Elemente in X. So ist (|"1 2 3 4"| == 4)<​br/>​ +
-==: Bedeutet Gleichheit<​br/>​ +
-!=: Bedeutet Ungleichheit<​br/>​ +
-(x,y,z): Tupel stelle ich als Liste in Klammern dar. Ein Tupel wird in Daedalus als String dargestellt,​ wobei die Elemente durch Leerzeichen getrennt sind, zum Beispiel: "1 2 3"​.<​br/>​ +
-Fehlende Tabellenzellen:​ Eine fehlende/​leere Tabellenzelle in der Spalte "​Relevant wenn" bedeutet, dass der Wert immer eine Relevanz hat. Eine fehlende/​leere Zelle bei "​Einheit"​ bedeutet, dass die Eigenschaft entweder dimensionslos ist (wie ein Faktor) oder die Werte einfach nur stellvertretend für Eigenschaften stehen ohne eine Dimension zu besitzen.+
  
-<​h1>​Tabelle mit allen Eigenschaften ​der C_PARTICLEFX Klasse</​h1>​+  * Der Emitter: Die Menge der Punkte an der Partikel entstehen können. Oft ein einzelner Punkt, manchmal aber auch eine Kugel, ein Quader oder ein anderes Gebilde. 
 +  * Die Partikel: Partikel sind Decals, das heißt flache Texturen, die im Raum herumschweben. 
 +  * Eine Vorschrift, die beschreibt, wann wieviele Partikel erzeugt werden, in welche Richtung sie fliegen, wie groß sie sind und wie die Farben der Textur mit dem Hintergrund verrechnet werden (und manches mehr).
  
-<table width="​1000">​ +Die genauen Eigenschaften und deren Bedeutung sind in der folgenden Tabelle gelistet.
-<table border = "​1">​+
  
-<​tr>​ +===== Anmerkungen zur Tabelle =====
-    <​th>​Variablentyp</​th>​ +
-    <​th>​Eigenschaftsname</​th>​ +
-    <​th>"​Langform"​ des Namens</​th>​ +
-    <​th>​Einheit</​th>​ +
-    <​th>​Relevant wenn</​th>​ +
-    <​th>​Bedeutung</​th>​ +
-</tr>+
  
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​ppsValue</​font></​td><​td><​font size="​1">​Particles per Second (Value)</​font></​td><​td><​font size="​1">​1/​s</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​So viele Partikel werden pro Sekunde erzeugt</​font></​td></​tr>​ +**BOOL**In Gothic gibt es formal keine Boolschen-WerteAlle Werte, die ich als "BOOL" ​gekennzeichnet habe sind technisch gesehen Integerwerte, die aber nur den Informationsgehalt eines Bits haben. Eine 0 entspricht FALSEalle anderen Werte entsprechen TRUE
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​ppsScaleKeys_S</​font></​td><​td><​font size="​1">​Particles per Second: Scale Keyframes</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Reihe von Faktoren, um die ppsValue im Verlauf skaliert wird</​font></​td></​tr>​ +**cl**Mit "cl" ​als Einheit meine ich einen Abstand ​von 1 in der Farbscale von 0 und 255wobei 0 das Minimum und 255 das Maximum darstelltTatsächlich muss man sich solche Zahlen aber als Werte zwischen 0.(0und 1.0 (255darstellen
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​ppsIsLooping</​font></​td><​td><​font size="​1">​Particles per SecondIs Looping?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Soll nach Durchlaufen aller Faktoren in ppsScaleKeys_S wieder von vorne begonnen werden? Andernfalls endet der PFX!</​font></​td></​tr>​ +**Andere Einheiten**cm (Centimeter), (Sekunden), ms (Millisekunden
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​ppsIsSmooth</​font></​td><​td><​font size="​1">​Particles per Second: Is Smooth?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​|ppsScaleKeys_S| > 1</​font></​td><​td><​font size="​1">​Sollen die Faktoren in ppsScaleKeys_S hart aufeinander folgen oder linear ineinander übergeblendet werden?</​font></​td></​tr>​ +**|X|**: Die Anzahl ​der Elemente ​in XSo ist (<nowiki>|"1 2 3 4"|</nowiki> == 4
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​ppsFPS</​font></​td><​td><​font size="​1">​Particles per Second: Frames per Second</​font></​td><​td><​font size="​1">​1/​s</​font></​td><​td><​font size="​1">​|ppsScaleKeys_S| > 1</​font></​td><​td><​font size="​1">​Wie schnell soll die Liste der Faktoren in ppsScaleKeys_S durchlaufen werden?</​font></​td></​tr>​ +**==**Bedeutet Gleichheit 
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​ppsCreateEm_S</​font></​td><​td><​font size="​1">​Particles per Second: Create Emitter</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Ein weiterer PFX, der zusätzlich erzeugt wirdDie Eigenschaft wird selten verwendet.</​font></​td></​tr>​ +**!=**: Bedeutet Ungleichheit 
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​ppsCreateEmDelay</​font></​td><​td><​font size="​1">​Particles per Second: Create Emitter Delay</​font></​td><​td><​font size="​1">​ms</​font></​td><​td><​font size="​1">​ppsCreateEm_S nicht leer</​font></​td><​td><​font size="​1">​Mit dieser Verzögerung wird der in ppsCreateEm_S genannte Effekt erzeugt.</​font></​td></​tr>​ +**(x,y,z)**Tupel stelle ich als Liste in Klammern darEin Tupel wird in Daedalus als String dargestelltwobei die Elemente durch Leerzeichen getrennt sindzum Beispiel: "​1 ​2 3". 
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +**Fehlende Tabellenzellen**Eine fehlende/leere Tabellenzelle in der Spalte ​"Relevant ​wenn" ​bedeutet, dass der Wert immer eine Relevanz hatEine fehlende/leere Zelle bei "Einheit" ​bedeutetdass die Eigenschaft entweder dimensionslos ​ist (wie ein Faktoroder die Werte einfach ​nur stellvertretend für Eigenschaften stehen ohne eine Dimension ​zu besitzen.
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpType_S</​font></​td><​td><​font size="​1">​Shape:​ Type</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Auf welchem Körper sollen die Partikel erzeugt werden. Mögliche ​Werte sind "​POINT"​ für einen Punkt"​LINE"​ für eine senkrechte Linie, "​CIRCLE"​ für einen flach liegenden Kreis, "​BOX"​ für einen Quader und "​SPHERE"​ für eine Kugel. Auch der Wert "​MESH"​ ist möglich für ein beliebiges Mesh.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpFOR_S</​font></​td><​td><​font size="​1">​Shape:​ Frame of Reference</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Soll der Effekt am Koordinatensystem der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ ausgerichtet werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf die Startposition der Partikel</​font></​td></​tr>​ +
-<​tr><​td><​font size="1">​STRING</​font></​td><​td><​font size="​1">​shpOffsetVec_S</​font></​td><​td><​font size="​1">​Shape:​ Offset Vector</​font></​td><​td><​font size="​1">​(cm,​cm,​cm)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Um diesen Vektor ist der Emitter vom Ursprung des Objekts verschoben</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpDistribType_S</​font></​td><​td><​font size="​1">​Shape:​ Distribution Type</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(shpType_S=="​LINE"​) ODER (shpType_S=="​CIRCLE"​)</​font></​td><​td><​font size="​1">​Bei Linien oder Kreisen kann "​WALK"​ benutzt werdenum die Partikelquelle gleichmäßig entlang der Linie/dem Kreis "​laufen"​ zu lassen. Ansonsten gibt es nur die zufällige Verteilung "​RAND"​. Der Wert "​UNIFORM"​ scheint nicht zu funktionieren und "​WALKW"​ verhält sich gleich wie "​WALK"</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​shpDistribWalkSpeed</​font></​td><​td><​font size="​1">​Shape:​ Distribution Walk Speed</​font></​td><​td><​font size="​1">​~100*Umläufe/​s</​font></​td><​td><​font size="​1">​(shpDistribType_S=="​WALK"​)</​font></​td><​td><​font size="​1">​Die Geschwindigkeit,​ mit der Kreis bzw. Linie umlaufen werden.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​shpIsVolume</​font></​td><​td><​font size="​1">​Shape:​ Is Volume?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(shpType_S=="​BOX"​) ODER (shpType_S=="​SPHERE)</​font></​td><​td><​font size="​1">​Wenn gesetzt, werden auch innerhalb einer Kugel bzw. einem Quader Partikel erzeugt anstatt nur an den Begrenzungsflächen</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpDim_S</​font></​td><​td><​font size="​1">​Shape:​ Dimension</​font></​td><​td><​font size="​1">​([cm,​[cm,​[cm]]])</​font></​td><​td><​font size="​1">​(shpType_S!="​POINT"​)</​font></​td><​td><​font size="​1">​Die Größe des Emitters muss entsprechend dem Typ angegeben werdenFür den Kreis oder die Kugel der Durchmesser,​ für die Linie eine Länge und für einen Quader drei Kantenlängen</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpMesh_S</​font></​td><​td><​font size="​1">​Shape:​ Mesh</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(shpType_S=="​MESH"​)</​font></​td><​td><​font size="​1">​Wenn der Emitter ein Mesh ist, muss auch angegeben werden welches. Dies kann hier geschehen.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​shpMeshRender_B</​font></​td><​td><​font size="​1">​Shape:​ Render the Mesh?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(shpType_S=="​MESH"​)</​font></​td><​td><​font size="​1">​Wenn der Emitter ein Mesh ist (die Partikel darauf erzeugt werden) heißt das noch nicht automatisch,​ dass das Mesh auch mitgerendert wird. Dies wird gesondert hier festgelegt.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​shpScaleKeys_S</​font></​td><​td><​font size="​1">​Shape:​ Scale: Keyframes</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(shpType_S!="​POINT"​)</​font></​td><​td><​font size="​1">​Eine Reihe von Faktorenum die die Größe des Emitters im Verlaufe skaliert wird (so würde eine Kugel mit dem Wert "1 2" während der Laufzeit des Effekts doppelt so groß).</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​shpScaleIsLooping</​font></​td><​td><​font size="​1">​ShapeScale: Is Looping?</​font></​td><​td><​font size="1"></​font></​td><​td><​font size="​1">​(|shpScaleKeys_S| > 1)</​font></​td><​td><​font size="​1">​Soll nach durchlaufen aller Faktoren in shpScaleKeys_S wieder ​von vorne in der Liste begonnen werden?</​font></​td></​tr>​ +
-<​tr><​td><​font size="1">​BOOL</​font></​td><​td><​font size="​1">​shpScaleIsSmooth</​font></​td><​td><​font size="​1">​Shape:​ Scale: Is Smooth?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(|shpScaleKeys_S| > 1)</​font></​td><​td><​font size="​1">​Sollen die Faktoren ​in shpScaleKeys_S hart aufeinanderfolgen oder sollen sie linear ineinander übergeblendet werden?</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​shpScaleFPS</​font></​td><​td><​font size="​1">​Shape:​ Scale: Frames per Second</​font></​td><​td><​font size="​1">​1/​s</​font></​td><​td><​font size="​1">​(|shpScaleKeys_S| > 1)</​font></​td><​td><​font size="​1">​Wie schnell soll die Liste der Faktoren in shpScaleKeys_S durchlaufen werden?</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​dirMode_S</​font></​td><​td><​font size="​1">​Direction:​ Mode</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Wird die Richtung der Partikel explizit angegeben ("​DIR"​)zufällig gewählt ("​RAND"​) oder steuern die Partikel auf ein Ziel zu ("​TARGET"​)?</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​dirFOR_S</​font></​td><​td><​font size="​1">​Direction:​ Frame of Reference</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(dirMode_S=="​DIR"​)</​font></​td><​td><​font size="​1">​Soll die Flugrichtung der Partikel am Koordinatensystem der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ ausgerichtet werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf die Flugrichtung der Partikel</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​dirModeTargetFOR_S</​font></​td><​td><​font size="​1">​Direction:​ Target: Frame of Reference</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(dirMode_S=="​TARGET"​)</​font></​td><​td><​font size="​1">​Soll die Position des Ziels mit den Koordinatenachsen der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ bestimmt werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf das Ziel der Partikel</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​dirModeTargetPos_S</​font></​td><​td><​font size="​1">​Direction:​ Target: Position</​font></​td><​td><​font size="​1">​(cm,​cm,​cm)</​font></​td><​td><​font size="​1">​(dirMode_S=="​TARGET"​)</​font></​td><​td><​font size="​1">​Koordinaten des Ziels, auf das die Partikel zusteuern sollen (hat nur bei der Erzeugung Einfluss auf die Flugrichtung! Partikel können z.Bdurch Gravitation abgelenkt werden!)</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​dirAngleHead</​font></​td><​td><​font size="​1">​Direction:​ Angle Head</​font></​td><​td><​font size="​1">​Grad</​font></​td><​td><​font size="​1">​(dirMode_S=="​DIR"​)</​font></​td><​td><​font size="1">​Richtung in die die Partikel fliegen, vorstellbar als der Winkel nach "​links" ​(+) oder "​rechts"​ (-).</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​dirAngleHeadVar</​font></​td><​td><​font size="​1">​DirectionAngle Head Variance</​font></​td><​td><​font size="​1">​Grad</​font></​td><​td><​font size="​1">​(dirMode_S=="​DIR"​)</​font></​td><​td><​font size="​1">​Der tatsächliche Wert von dirAngleHead wird zufällig im Interval [dirAngleHead - dirAngleHeadVardirAngleHead + dirAngleHeadVar] gestreut.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​dirAngleElev</​font></​td><​td><​font size="​1">​Direction:​ Angle Elev</​font></​td><​td><​font size="​1">​Grad</​font></​td><​td><​font size="​1">​(dirMode_S=="​DIR"​)</​font></​td><​td><​font size="​1">​Richtung in die die Partikel fliegenvorstellbar als der Winkel nach "​oben" ​(+oder "​unten"​ (-).</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​dirAngleElevVar</​font></​td><​td><​font size="​1">​DirectionAngle Elev Variance</​font></​td><​td><​font size="​1">​Grad</​font></​td><​td><​font size="​1">​(dirMode_S=="​DIR"​)</​font></​td><​td><​font size="​1">​Der tatsächliche Wert von dirAngleElev wird zufällig im Interval [dirAngleElev - dirAngleElevVar,​ dirAngleElev + dirAngleElevVar] gestreut.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​velAvg</​font></​td><​td><​font size="​1">​Direction:​ Velocity</​font></​td><​td><​font size="​1">​cm/​ms</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Geschwindigkeit der Partikel</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​velVar</​font></​td><​td><​font size="​1">​Direction:​ Velocity Variance</​font></​td><​td><​font size="​1">​cm/​ms</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Die tatsächliche Geschwindigkeit ​der Partikel wird zufällig im Interval [velAvg - velVar, velAvg + velVar] gestreut.</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​lspPartAvg</​font></​td><​td><​font size="​1">​Lifespan of Particles: Average</​font></​td><​td><​font size="​1">​ms</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Lebenszeit der Partikel</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​lspPartVar</​font></​td><​td><​font size="​1">​Lifespan of Particles: Variance</​font></​td><​td><​font size="​1">​ms</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Die tatsächliche Lebenszeit der Partikel wird zufällig im Interval [lspPartAvg - lspPartVar, lspPartAvg + lspPartVar] gestreut.</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​flyGravity_S</​font></​td><​td><​font size="​1">​fly(???​):​ Gravity</​font></​td><​td><​font size="​1">​(cm/​ms²,​cm/​ms²,​cm/​ms²)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Gravitation ​in Richtung der drei Koordinatenachsen der WeltEinen FrameOfReference-Wert um die Gravitation im Koordinatensystem des Objekts wirken zu lassen gibt es hier nicht.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​INT</​font></​td><​td><​font size="​1">​flyCollDet_B</​font></​td><​td><​font size="​1">​fly(???): Collision Detection</font></​td><​td><​font size="1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Die Kollisionserkennung kennt verschiedene Modi: 0 = Keine Kollisionserkennung;​ 1 = Die Partikel werden abgebremst und reflektiert; ​= die Partikel werden beschleunigt und reflektiert; ​= die Partikel halten an; = die Partikel werden entfernt</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="1">​STRING</font></​td><​td><​font size="​1">​visName_S</​font></​td><​td><​font size="​1">​Visual:​ Name</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Name der Textur, die jeder Partikel hat</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​visOrientation_S</​font></​td><​td><​font size="​1">​Visual:​ Orientation</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Orientierung der Partikel zur Kamera: "​NONE"​ = Die Partikel schauen immer genau zur Kamera; "​VELO"​ = die Partikel erscheinen kleiner, je stärker Flug- und Blickrichtung übereinstimmen. Die Partikel "​zeigen"​ scheinbar in Flugrichtung (sind aber letztlich immernoch zur Kamera ausgerichtet); "​VELO3D"​ = Die Partikel sind in Flugrichtung ausgerichtet,​ nur mit dem verbleibenden Freiheitsgrad werden sie zur Kamera ausgerichtet.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​visTexIsQuadPoly</​font></​td><​td><​font size="​1">​VisualIs Texture a Quad Poly?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Wenn gesetzt wird nicht bloß die obere rechte Ecke der Textur gerendert, sondern ein ganzes Rechteck. Das schlägt doppelt auf die Alpha-Poly-Begrenzung,​ sieht aber je nach Textur deutlich besser aus.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​visTexAniFPS</​font></​td><​td><​font size="​1">​Visual:​ Texture Animation: Frames per Second</​font></​td><​td><​font size="​1">​1/​s</​font></​td><​td><​font size="​1">​Textur hat mehrere Frames</​font></​td><​td><​font size="​1">​Wenn die Textur mehrere Frames hat ("*.A0.TGA",​ "*.A1.TGA",​ …) dann kann die Anzahl der Texturwechsel pro Sekunde gewählt werden.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​visTexAniIsLooping</​font></​td><​td><​font size="​1">​VisualTexture Animation: Is Looping?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Textur hat mehrere Frames</​font></​td><​td><​font size="​1">​In aller Regel sollte eine animierte Textur loopen, das heißt, wenn der letzte Frame erreicht ist, sollte wieder beim ersten begonnen werden. Dies kann hier angegeben werden.</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​visTexColorStart_S</​font></​td><​td><​font size="​1">​Visual:​ Texture Color: Start</​font></​td><​td><​font size="​1">​(cl,cl,cl)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Faktoren ("[R] [G] [B]") für die einzelnen Farbkanäle. "255 255 255" (weiß) würde die Textur nehmen, wie sie ist, wohingegen "255 128 0" (orange) den grünen Kanal auf die Hälfte und den blauen Kanal auf 0 skaliert. Mit den gegebenen Beispielfaktoren könnte ein weißer Rauch zu einem orangenen Rauch gefärbt werden.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​visTexColorEnd_S</​font></​td><​td><​font size="​1">​VisualTexture Color: End</​font></​td><​td><​font size="​1">​(cl,​cl,​cl)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Wie visTexColorStart_S nur der Wert für das Ende der Lebenszeit des PartikelsZwischen Geburt und Tot wird von visTexColorStart_S linear zu visTexColorEnd_S übergeblendet.</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​visSizeStart_S</​font></​td><​td><​font size="​1">​Visual:​ Size: Start</​font></​td><​td><​font size="​1">​(cm,cm)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Größe der Partikel. Bei (visOrientation_S=="​NONE"​) steht der erste Wert für die X-Richtung auf dem Bildschirmder zweite für die Y-Richtung. Für andere Werte von visOrientation_S ist der zweite Wert die Größe in Flugrichtung.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​visSizeEndScale</​font></​td><​td><​font size="​1">​VisualSize: End Scale</​font></​td><​td><​font size="​1"​></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Die Größe der Partikel verändert sich linear während der Lebenszeit, sodass sie am Ende visSizeEndScale mal so groß sind.</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​visAlphaFunc_S</​font></​td><​td><​font size="​1">​VisualAlpha-Function<​/font></​td><​td><​font size="1"></​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Verschiedene Überblendungsmodi. Bei "​NONE"​ und "​BLEND"​ liegt eine verdeckende Überblendung vor wie etwa, wenn mehrere bemalte Folien übereinandergelegt werden. ​"ADD" addiert die Farben jeder Fläche auf die des Hintergrunds auf, so gäbe rot (1, 0, 0) + grün (0, 1, 0) => gelb (1, 1, 0). Ein voll gesättigter Farbkanal bleibt allerdings voll: rot + rot => rot; es besteht also die Gefahr des Überbelichtens. "​MUL"​ multipliziert die Farbkanäle der Fläche mit dem Hintergrund,​ so ergibt beispielsweise orange (1,0.5,0) mal grün (0, 1, 0) => dunkelgrün (0, 0.5, 0); sprich: wird mit grün multipliziert,​ wird nichts als grün durchgelassen. Üblicherweise benutzen Partikeleffekte den Modus "​ADD"​. "​MUL"​ wird wegen der Eigenheit, dass nur der Hintergrund bearbeitet wird, ohne dass der Effekt selbst ein Aussehen hätte, für PFX kaum benutzt.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​visAlphaStart</​font></​td><​td><​font size="​1">​Visual:​ Alpha: Start</​font></​td><​td><​font size="​1">​cl</​font></​td><​td><​font size="​1">​(visAlphaFunc_S=="​ADD"​) ODER (visAlphaFunc_S=="​BLEND"​)</​font></​td><​td><​font size="​1">​Wird als Überblendungsmodus "​BLEND"​ oder "​ADD"​ verwendet, wird der Alphakanal der Partikeltextur skaliert. visAlphaStart ist der Startwert für diesen Faktor und wird bis zum Tot des Partikels linear zu visAlphaEnd herabgesetzt bzw. heraufgesetzt. visAlphaEnd ist oft 0, damit die Partikel nicht abrupt verschwinden.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​visAlphaEnd</​font></​td><​td><​font size="​1">​Visual:​ Alpha: End</​font></​td><​td><​font size="​1">​cl</​font></​td><​td><​font size="​1">​(visAlphaFunc_S!="​NONE"​) ODER (visAlphaFunc_S=="​BLEND"​)</​font></​td><​td><​font size="​1">​siehe visAlphaStart</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​trlFadeSpeed</​font></​td><​td><​font size="​1">​Trail:​ Fade Speed</​font></​td><​td><​font size="​1">​cl/​ms</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Partikeleffekte können in ihrer Flugbahn ​eine Spur erzeugen, die langsam verblassttrlFadeSpeed ist die Geschwindigkeit mit der diese Spur verschwindet<​/font></​td></​tr>​ +
-<​tr><​td><​font size="1">​STRING</​font></​td><​td><​font size="​1">​trlTexture_S</​font></​td><​td><​font size="​1">​Trail:​ Texture</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(trlFadeSpeed > 0)</​font></​td><​td><​font size="​1">​Textur der Spur</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​trlWidth</​font></​td><​td><​font size="​1">​Trail:​ Width</​font></​td><​td><​font size="​1">​cm</​font></​td><​td><​font size="​1">​(trlFadeSpeed > 0)</​font></​td><​td><​font size="​1">​Breite der Spur</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​mrkFadeSpeed</​font></​td><​td><​font size="​1">​Mark:​ Fade Speed</​font></​td><​td><​font size="​1">​cl/​ms</​font></​td><​td><​font size="​1">​(flyCollDet_B != 0)</​font></​td><​td><​font size="​1">"​Marks"​ sind Flecken, die bei der Kollision eines Partikeleffekts mit dem Levelmesh auf dem Levelmesh erzeugt werden. mrkFadeSpeed ​ist die Geschwindigkeit mit diese Flecken verschwinden</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​mrkTexture_S</​font></​td><​td><​font size="​1">​Mark:​ Texture</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​(mrkFadeSpeed > 0)</​font></​td><​td><​font size="​1">​Textur der Flecken</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​mrkSize</​font></​td><​td><​font size="​1">​Mark:​ Size</​font></​td><​td><​font size="​1">​cm</​font></​td><​td><​font size="​1">​(mrkFadeSpeed > 0)</​font></​td><​td><​font size="​1">​Größe der Flecken</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​flockMode</​font></​td><​td><​font size="​1">​Flock Mode</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">???</​font></​td><​td><​font size="​1">???</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​FLOAT</​font></​td><​td><​font size="​1">​flockStrength</​font></​td><​td><​font size="​1">​Flock Strength</​font></​td><​td><​font size="​1">???</​font></​td><​td><​font size="​1">???</​font></​td><​td><​font size="​1">???</​font></​td></​tr>​ +
-<​tr><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td><​td></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​useEmittersFOR</​font></​td><​td><​font size="​1">​use Emitters Frame of Reference?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Effekt bewegt sich</​font></​td><​td><​font size="​1">​Wenn gesetzt, sind die Partikel "​Kinder"​ des Emitters. Sie bewegen sich also mit, wenn sich der Emitter bewegt (anstatt ​nur ihrer eigenen Bewegung nachzugehen).</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​STRING</​font></​td><​td><​font size="​1">​timeStartEnd_S</​font></​td><​td><​font size="​1">​Start- and Endtime of Rendering</​font></​td><​td><​font size="​1">​(Stunde,​Stunde)</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Zeitinterval,​ in dem der Effekt gerendert wird. Glühwürmchen könnte man etwa das Interval "22 3" geben, sodass sie nur in der Nacht zwischen 22:00 und 3:00 Uhr zu sehen sind.</​font></​td></​tr>​ +
-<​tr><​td><​font size="​1">​BOOL</​font></​td><​td><​font size="​1">​m_bIsAmbientPFX</​font></​td><​td><​font size="​1">​Is Ambient PFX?</​font></​td><​td><​font size="​1"></​font></​td><​td><​font size="​1">​Spieler hat Ambiet-PFX in den Optionen deaktiviert</​font></​td><​td><​font size="​1">​Ambient-PFX werden nicht gerendert (wenn der Spieler das so in seinen Einstellungen gewählt hat).</​font></​td></​tr>​+
  
-</table+===== Tabelle mit allen Eigenschaften der C_PARTICLEFX Klasse ===== 
-</html>+ 
 +Eine kleinere Tabelle mit Angaben zum erwarteten Wert der Eigenschaften gibt es hier: [[pfx]]. 
 + 
 +^ Variablentyp ^ Eigenschaftsname ^ "​Langform"​ des Namens ^ Einheit ^ Relevant wenn ^ Bedeutung ^  
 +| FLOAT | ppsValue | Particles per Second (Value) | 1/s |  | So viele Partikel werden pro Sekunde erzeugt |  
 +| STRING | ppsScaleKeys_S | Particles per Second: Scale Keyframes |  |  | Reihe von Faktoren, um die ppsValue im Verlauf skaliert wird |  
 +| BOOL | ppsIsLooping | Particles per Second: Is Looping? |  |  | Soll nach Durchlaufen aller Faktoren in ppsScaleKeys_S wieder von vorne begonnen werden? Andernfalls endet der PFX! |  
 +| BOOL | ppsIsSmooth | Particles per Second: Is Smooth? |  | <​nowiki>​|ppsScaleKeys_S|</nowiki> 1 | Sollen die Faktoren in ppsScaleKeys_S hart aufeinander folgen oder linear ineinander übergeblendet werden? |  
 +| FLOAT | ppsFPS | Particles per Second: Frames per Second | 1/s | <​nowiki>​|ppsScaleKeys_S|</nowiki> 1 | Wie schnell soll die Liste der Faktoren in ppsScaleKeys_S durchlaufen werden? |  
 +| STRING | ppsCreateEm_S | Particles per Second: Create Emitter |  |  | Ein weiterer PFX, der zusätzlich erzeugt wird. Die Eigenschaft wird selten verwendet. |  
 +| FLOAT | ppsCreateEmDelay | Particles per Second: Create Emitter Delay | ms | ppsCreateEm_S nicht leer | Mit dieser Verzögerung wird der in ppsCreateEm_S genannte Effekt erzeugt. |  
 +| STRING | shpType_S | Shape: Type |  |  | Auf welchem Körper sollen die Partikel erzeugt werden. Mögliche Werte sind "​POINT"​ für einen Punkt, "​LINE"​ für eine senkrechte Linie, "​CIRCLE"​ für einen flach liegenden Kreis, "​BOX"​ für einen Quader und "​SPHERE"​ für eine Kugel. Auch der Wert "​MESH"​ ist möglich für ein beliebiges Mesh. |  
 +| STRING | shpFOR_S | Shape: Frame of Reference |  |  | Soll der Effekt am Koordinatensystem der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ ausgerichtet werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf die Startposition der Partikel |  
 +| STRING | shpOffsetVec_S | Shape: Offset Vector | (cm, cm, cm) |  | Um diesen Vektor ist der Emitter vom Ursprung des Objekts verschoben |  
 +| STRING | shpDistribType_S | Shape: Distribution Type |  | (shpType_S == "​LINE"​) ODER (shpType_S == "​CIRCLE"​) | Bei Linien oder Kreisen kann "​WALK"​ benutzt werden, um die Partikelquelle gleichmäßig entlang der Linie/dem Kreis "​laufen"​ zu lassen. Ansonsten gibt es nur die zufällige Verteilung "​RAND"​. Der Wert "​UNIFORM"​ scheint nicht zu funktionieren und "​WALKW"​ verhält sich gleich wie "​WALK"​ |  
 +| FLOAT | shpDistribWalkSpeed | Shape: Distribution Walk Speed | ~100 * Umläufe/s | (shpDistribType_S == "​WALK"​) | Die Geschwindigkeit,​ mit der Kreis bzw. Linie umlaufen werden. |  
 +| BOOL | shpIsVolume | Shape: Is Volume? |  | (shpType_S == "​BOX"​) ODER (shpType_S == "​SPHERE) | Wenn gesetzt, werden auch innerhalb einer Kugel bzw. einem Quader Partikel erzeugt anstatt nur an den Begrenzungsflächen |  
 +| STRING | shpDim_S | Shape: Dimension | ([cm, [cm, [cm]]]) | (shpType_S != "​POINT"​) | Die Größe des Emitters muss entsprechend dem Typ angegeben werden. Für den Kreis oder die Kugel der Durchmesser,​ für die Linie eine Länge und für einen Quader drei Kantenlängen |  
 +| STRING | shpMesh_S | Shape: Mesh |  | (shpType_S == "​MESH"​) | Wenn der Emitter ein Mesh ist, muss auch angegeben werden welches. Dies kann hier geschehen. |  
 +| BOOL | shpMeshRender_B | Shape: Render the Mesh? |  | (shpType_S == "​MESH"​) | Wenn der Emitter ein Mesh ist (die Partikel darauf erzeugt werden) heißt das noch nicht automatisch,​ dass das Mesh auch mitgerendert wird. Dies wird gesondert hier festgelegt. |  
 +| STRING | shpScaleKeys_S | Shape: Scale: Keyframes |  | (shpType_S != "​POINT"​) | Eine Reihe von Faktoren, um die die Größe des Emitters im Verlaufe skaliert wird (so würde eine Kugel mit dem Wert "1 2" während der Laufzeit des Effekts doppelt so groß). |  
 +| BOOL | shpScaleIsLooping | Shape: Scale: Is Looping? |  | (<​nowiki>​|shpScaleKeys_S|</​nowiki>​ > 1) | Soll nach durchlaufen aller Faktoren in shpScaleKeys_S wieder von vorne in der Liste begonnen werden? |  
 +| BOOL | shpScaleIsSmooth | Shape: Scale: Is Smooth? |  | (<​nowiki>​|shpScaleKeys_S|</​nowiki>​ > 1) | Sollen die Faktoren in shpScaleKeys_S hart aufeinanderfolgen oder sollen sie linear ineinander übergeblendet werden? |  
 +| FLOAT | shpScaleFPS | Shape: Scale: Frames per Second | 1/s | (<​nowiki>​|shpScaleKeys_S|</​nowiki>​ > 1) | Wie schnell soll die Liste der Faktoren in shpScaleKeys_S durchlaufen werden? |  
 +| STRING | dirMode_S | Direction: Mode |  |  | Wird die Richtung der Partikel explizit angegeben ("​DIR"​),​ zufällig gewählt ("​RAND"​) oder steuern die Partikel auf ein Ziel zu ("​TARGET"​)?​ |  
 +| STRING | dirFOR_S | Direction: Frame of Reference |  | (dirMode_S == "​DIR"​) | Soll die Flugrichtung der Partikel am Koordinatensystem der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ ausgerichtet werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf die Flugrichtung der Partikel |  
 +| STRING | dirModeTargetFOR_S | Direction: Target: Frame of Reference |  | (dirMode_S == "​TARGET"​) | Soll die Position des Ziels mit den Koordinatenachsen der Welt "​WORLD"​ oder des Effekts "​OBJECT"​ bestimmt werden? Ist "​WORLD"​ gewählt hat die Drehung des Partikeleffekt-Objekts keinen Einfluss auf das Ziel der Partikel |  
 +| STRING | dirModeTargetPos_S | Direction: Target: Position | (cm, cm, cm) | (dirMode_S == "​TARGET"​) | Koordinaten des Ziels, auf das die Partikel zusteuern sollen (hat nur bei der Erzeugung Einfluss auf die Flugrichtung! Partikel können z.B. durch Gravitation abgelenkt werden!) |  
 +| FLOAT | dirAngleHead | Direction: Angle Head | Grad | (dirMode_S == "​DIR"​) | Richtung in die die Partikel fliegen, vorstellbar als der Winkel nach "​links"​ (+) oder "​rechts"​ (-). |  
 +| FLOAT | dirAngleHeadVar | Direction: Angle Head Variance | Grad | (dirMode_S == "​DIR"​) | Der tatsächliche Wert von dirAngleHead wird zufällig im Interval [dirAngleHead - dirAngleHeadVar,​ dirAngleHead + dirAngleHeadVar] gestreut. |  
 +| FLOAT | dirAngleElev | Direction: Angle Elev | Grad | (dirMode_S == "​DIR"​) | Richtung in die die Partikel fliegen, vorstellbar als der Winkel nach "​oben"​ (+) oder "​unten"​ (-). |  
 +| FLOAT | dirAngleElevVar | Direction: Angle Elev Variance | Grad | (dirMode_S == "​DIR"​) | Der tatsächliche Wert von dirAngleElev wird zufällig im Interval [dirAngleElev - dirAngleElevVar,​ dirAngleElev + dirAngleElevVar] gestreut. |  
 +| FLOAT | velAvg | Direction: Velocity | cm/ms |  | Geschwindigkeit der Partikel |  
 +| FLOAT | velVar | Direction: Velocity Variance | cm/ms |  | Die tatsächliche Geschwindigkeit der Partikel wird zufällig im Interval [velAvg - velVar, velAvg + velVar] gestreut. |  
 +| FLOAT | lspPartAvg | Lifespan of Particles: Average | ms |  | Lebenszeit der Partikel |  
 +| FLOAT | lspPartVar | Lifespan of Particles: Variance | ms |  | Die tatsächliche Lebenszeit der Partikel wird zufällig im Interval [lspPartAvg - lspPartVar, lspPartAvg + lspPartVar] gestreut. |  
 +| STRING | flyGravity_S | fly(???): Gravity | (cm/ms², cm/ms², cm/ms²) |  | Gravitation in Richtung der drei Koordinatenachsen der Welt. Einen FrameOfReference-Wert um die Gravitation im Koordinatensystem des Objekts wirken zu lassen gibt es hier nicht. |  
 +| INT | flyCollDet_B | fly(???): Collision Detection |  |  | Die Kollisionserkennung kennt verschiedene Modi: 0 = Keine Kollisionserkennung;​ 1 = Die Partikel werden abgebremst und reflektiert;​ 2 = die Partikel werden beschleunigt und reflektiert;​ 3 = die Partikel halten an; 4 = die Partikel werden entfernt |  
 +| STRING | visName_S | Visual: Name |  |  | Name der Textur, die jeder Partikel hat |  
 +| STRING | visOrientation_S | Visual: Orientation |  |  | Orientierung der Partikel zur Kamera: "​NONE"​ = Die Partikel schauen immer genau zur Kamera; "​VELO"​ = die Partikel erscheinen kleiner, je stärker Flug- und Blickrichtung übereinstimmen. Die Partikel "​zeigen"​ scheinbar in Flugrichtung (sind aber letztlich immernoch zur Kamera ausgerichtet);​ "​VELO3D"​ = Die Partikel sind in Flugrichtung ausgerichtet,​ nur mit dem verbleibenden Freiheitsgrad werden sie zur Kamera ausgerichtet. |  
 +| BOOL | visTexIsQuadPoly | Visual: Is Texture a Quad Poly? |  |  | Wenn gesetzt wird nicht bloß die obere rechte Ecke der Textur gerendert, sondern ein ganzes Rechteck. Das schlägt doppelt auf die Alpha-Poly-Begrenzung,​ sieht aber je nach Textur deutlich besser aus. |  
 +| FLOAT | visTexAniFPS | Visual: Texture Animation: Frames per Second | 1/s | Textur hat mehrere Frames | Wenn die Textur mehrere Frames hat ("​*.A0.TGA",​ "​*.A1.TGA",​ …) dann kann die Anzahl der Texturwechsel pro Sekunde gewählt werden. |  
 +| BOOL | visTexAniIsLooping | Visual: Texture Animation: Is Looping? |  | Textur hat mehrere Frames | In aller Regel sollte eine animierte Textur loopen, das heißt, wenn der letzte Frame erreicht ist, sollte wieder beim ersten begonnen werden. Dies kann hier angegeben werden. |  
 +| STRING | visTexColorStart_S | Visual: Texture Color: Start | (cl,cl,cl) |  | Faktoren ("[R] [G] [B]") für die einzelnen Farbkanäle. "255 255 255" (weiß) würde die Textur nehmen, wie sie ist, wohingegen "255 128 0" (orange) den grünen Kanal auf die Hälfte und den blauen Kanal auf 0 skaliert. Mit den gegebenen Beispielfaktoren könnte ein weißer Rauch zu einem orangenen Rauch gefärbt werden. |  
 +| STRING | visTexColorEnd_S | Visual: Texture Color: End | (cl,cl,cl) |  | Wie visTexColorStart_S nur der Wert für das Ende der Lebenszeit des Partikels. Zwischen Geburt und Tot wird von visTexColorStart_S linear zu visTexColorEnd_S übergeblendet. |  
 +| STRING | visSizeStart_S | Visual: Size: Start | (cm, cm) |  | Größe der Partikel. Bei (visOrientation_S=="​NONE"​) steht der erste Wert für die X-Richtung auf dem Bildschirm, der zweite für die Y-Richtung. Für andere Werte von visOrientation_S ist der zweite Wert die Größe in Flugrichtung. |  
 +| FLOAT | visSizeEndScale | Visual: Size: End Scale |  |  | Die Größe der Partikel verändert sich linear während der Lebenszeit, sodass sie am Ende visSizeEndScale mal so groß sind. |  
 +| STRING | visAlphaFunc_S | Visual: Alpha-Function |  |  | Verschiedene Überblendungsmodi. Bei "​NONE"​ und "​BLEND"​ liegt eine verdeckende Überblendung vor wie etwa, wenn mehrere bemalte Folien übereinandergelegt werden. "​ADD"​ addiert die Farben jeder Fläche auf die des Hintergrunds auf, so gäbe rot (1, 0, 0) + grün (0, 1, 0) => gelb (1, 1, 0). Ein voll gesättigter Farbkanal bleibt allerdings voll: rot + rot => rot; es besteht also die Gefahr des Überbelichtens. "​MUL"​ multipliziert die Farbkanäle der Fläche mit dem Hintergrund,​ so ergibt beispielsweise orange (1,0.5,0) mal grün (0, 1, 0) => dunkelgrün (0, 0.5, 0); sprich: wird mit grün multipliziert,​ wird nichts als grün durchgelassen. Üblicherweise benutzen Partikeleffekte den Modus "​ADD"​. "​MUL"​ wird wegen der Eigenheit, dass nur der Hintergrund bearbeitet wird, ohne dass der Effekt selbst ein Aussehen hätte, für PFX kaum benutzt. |  
 +| FLOAT | visAlphaStart | Visual: Alpha: Start | cl | (visAlphaFunc_S == "​ADD"​) ODER (visAlphaFunc_S == "​BLEND"​) | Wird als Überblendungsmodus "​BLEND"​ oder "​ADD"​ verwendet, wird der Alphakanal der Partikeltextur skaliert. visAlphaStart ist der Startwert für diesen Faktor und wird bis zum Tot des Partikels linear zu visAlphaEnd herabgesetzt bzw. heraufgesetzt. visAlphaEnd ist oft 0, damit die Partikel nicht abrupt verschwinden. |  
 +| FLOAT | visAlphaEnd | Visual: Alpha: End | cl | (visAlphaFunc_S != "​NONE"​) ODER (visAlphaFunc_S == "​BLEND"​) | siehe visAlphaStart |  
 +| FLOAT | trlFadeSpeed | Trail: Fade Speed | cl/ms |  | Partikeleffekte können in ihrer Flugbahn eine Spur erzeugen, die langsam verblasst. trlFadeSpeed ist die Geschwindigkeit mit der diese Spur verschwindet |  
 +| STRING | trlTexture_S | Trail: Texture |  | (trlFadeSpeed > 0) | Textur der Spur |  
 +| FLOAT | trlWidth | Trail: Width | cm | (trlFadeSpeed > 0) | Breite der Spur |  
 +| FLOAT | mrkFadeSpeed | Mark: Fade Speed | cl/ms | (flyCollDet_B != 0) | "​Marks"​ sind Flecken, die bei der Kollision eines Partikeleffekts mit dem Levelmesh auf dem Levelmesh erzeugt werden. mrkFadeSpeed ist die Geschwindigkeit mit diese Flecken verschwinden |  
 +| STRING | mrkTexture_S | Mark: Texture |  | (mrkFadeSpeed > 0) | Textur der Flecken |  
 +| FLOAT | mrkSize | Mark: Size | cm | (mrkFadeSpeed > 0) | Größe der Flecken |  
 +| STRING | flockMode | Flock Mode |  | ??? | ??? |  
 +| FLOAT | flockStrength | Flock Strength | ??? | ??? | ??? |  
 +| BOOL | useEmittersFOR | use Emitters Frame of Reference? |  | Effekt bewegt sich | Wenn gesetzt, sind die Partikel "​Kinder"​ des Emitters. Sie bewegen sich also mit, wenn sich der Emitter bewegt (anstatt nur ihrer eigenen Bewegung nachzugehen). |  
 +| STRING | timeStartEnd_S | Start- and Endtime of Rendering | (Stunde, Stunde) |  | Zeitinterval,​ in dem der Effekt gerendert wird. Glühwürmchen könnte man etwa das Interval "22 3" geben, sodass sie nur in der Nacht zwischen 22:00 und 3:00 Uhr zu sehen sind. |  
 +| BOOL | m_bIsAmbientPFX | Is Ambient PFX? |  | Spieler hat Ambiet-PFX in den Optionen deaktiviert | Ambient-PFX werden nicht gerendert (wenn der Spieler das so in seinen Einstellungen gewählt hat). |
partikel_effekte.txt · Zuletzt geändert: 2016/02/10 01:22 von milgo