Donnerstag, 22. Dezember 2011

Der Partikel Editor aus dem Dolphin Viewer

Mit der vorletzten Veröffentlichung, wurde in den Dolphin Viewer der Partikel-Editor aus der  Firestorm Entwicklungsabteilung übernommen. Der Firestorm selbst, erhält diesen Editor erst in einer der nächsten Versionen.Offenbar hat sich Lance Corrimal am Repository Sourcecode des Firestorm bedient, was einer der Vorzüge von Open Source Software ist.

Vorab haben die Firestorm-Entwickler in ihrer Wiki bereits eine umfangreiche, englische Seite zum Partikel-Editor erstellt. Diese ist hier zu finden:
>> Firestorm Wiki: Particle Editor

Da aber selbst für Nutzer mit guten Englischkenntnissen das Editorfenster nicht leicht zu verstehen ist, erkläre ich den Aufruf und die Bedeutung der einzelnen Parameter hier mal in Deutsch. Die Bilder hier im Artikel stammen aus dem Dolphin Viewer. Alle Schritte sollten aber im Firestorm Viewer genauso möglich sein, sobald der Editor dort verfügbar ist.

Zuerst beschreibe ich kurz den grundsätzlichen Umgang mit dem Partikel Editor und danach, etwas umfangreicher, die Bedeutung der einzelnen Felder. Und weil das insgesamt ein langer Artikel wird, geht es weiter nach dem Link:


Start

Um den Partikel-Editor aufzurufen, benötigt man zuerst ein Prim (oder eine verlinkte Gruppe) mit Mod-Rechten. Dieses mit der rechten Maustaste anwählen und im Kontextmenü auf "Bearbeiten" gehen. Damit öffnet sich das Baufenster, das wir aber minimieren können, da es vorläufig nicht benötigt wird. Dann im oberen Viewer-Menü den Eintrag > Bauen > Objekt > Edit Particles auswählen.

Partikel Editor starten


Editor-Fenster

Nun öffnet sich das Editor-Fenster und das ausgewählte Prim beginnt sofort, Partikel passend zu den Grundeinstellungen des Editors auszustossen. Bei Änderungen von Parametern oder Eigenschaften im Editor, werden die Auswirkungen immer direkt am ausgewählten Prim angezeigt.

Partikel Editor mit ausgewähltem Prim


Einstellungen in Skript speichern

Dieses Skript wird vom Editor erzeugt
Wenn alle Einstellungen durchgeführt sind, gibt es zwei Möglichkeiten, das Ergebnis zu speichern.

Klickt man auf "Copy", wird ein fertiges Skript in den Zwischenspeicher kopiert. Von dort kann es mit Strg + C in jedes andere Textfenster eingefügt werden (z.B. Notecard).

Klickt man auf "Inject", wird ein fertiges Skript direkt in der "Inhalt"-Registerkarte des Prims erzeugt. Von dort lässt es sich natürlich auch in andere Prims oder das Inventar kopieren.

In beiden Fällen sieht das erzeugte Skript dann in etwa so aus:

Partikel Skript


Partikeleffekte sind eine Prim-Eigenschaft. Nachdem ein Skript die Partikel für ein Prim aktiviert hat, kann es auch wieder gelöscht werden. Die Partikel werden dann dennoch weiter erzeugt. Der Vorteil ist, dass man auf seiner Parzelle weniger Skriptspeicher verbraucht. Als Nachteil kann man dann jedoch keine einzelnen Werte mehr manuell anpassen.


Erklärung der Parameter und Eingenschaften

Zur besseren Übersicht hier noch einmal das Editor-Fenster als Bild. Darunter dann die Erklärung der einzelnen Felder in Listenform:



Parameter:
  • Pattern: Bestimmt die Art des Ausstoßes der Partikel.
    • Explode: Alle Partikel bewegen sich vom Prim geradlinig in alle Richtungen weg.
    • Angle: Alle Partikel bewegen sich vom Prim auf einer kreisförmigen Scheibe geradlinig weg. Die Richtung und der Winkel können dabei über die 'Angle'-Parameter beeinflusst werden. (Beispiel: Partikelscheibe 360°).
    • Angle Cone: Alle Partikel bewegen sich vom Prim konisch bzw. partiell kugelförmig weg. Die Richtung und der Winkel können dabei über die 'Angle'-Parameter beeinflusst werden. (Beispiel: Fontäne / Springbrunnen).
    • Angel Cone Empty: Aktuell noch nicht funktionsfähig.
    • Drop: Erzeugt Partikel ohne Bewegung, d.h. sie verlassen ein statisches Prim nicht. Bewegt sich das Prim, wird jedoch eine Spur von Partikeln auf dem Weg 'liegengelassen'.
  • Burst Rate: Bestimmt, alle wieviele Sekunden Partikel ausgestossen werden. Bei Wert 0.0 werden so schnell Partikel ausgestossen, wie der Viewer dazu in der Lage ist.
  • Burst Count: Bestimmt, wieviele Partikel in jedem Ausstoss (Burst Rate) vorhanden sind.
  • Angle Begin: Ist nur bei Pattern 'Angle' oder 'Angle Cone' aktiv (siehe erster Listenpunkt). Bestimmt den Winkel eines Teilkreises oder Konus im Bogenmaß, innerhalb derer Partikel ausgestossen werden. Die Werte müssen in Halbwinkeln (Radianten) angegeben werden. Maximum ist 3.14 (PI).
  • Angle End: Ist nur bei Pattern 'Angle' oder 'Angle Cone' aktiv (siehe erster Listenpunkt). Bestimmt den Winkel eines Teilkreises oder Konus im Bogenmaß, innerhalb derer keine Partikel ausgestossen werden. Dieser Wert muss immer größer oder gleich 'Angle Begin' sein. Maximum ist 3.14 (PI).
  • Source Max Age: Bestimmt, wie lange der Emitter die Partikel ausstösst. Werte in Sekunden zwischen 1 und 60 sind möglich. Bei 0 ist der Ausstoss endlos.
  • Particles Max Age: Bestimmt, wie lange ausgestossene Partikel sichtbar sind. Werte in Sekunden zwischen 0 und 30 sind möglich. Bei Werten kleiner 0.5 sind die Partikel nicht mehr wahrnehmbar.
  • Scale Start: Bestimmt die Größe der Partikel direkt an der Emitterquelle (am Prim) in Metern. Angegeben werden zwei Werte für X- und Y-Größe (Partikel sind nur zweidimensional, deshalb auch nur zwei Werte). Macht man z.B. einen Wert wesentlich kleiner, als den Zweiten, erhält man lange, stabförmige Partikel. Werte zwischen 0.03125 und 4 Metern sind erlaubt.
  • Scale End: Bestimmt die Größe der Partikel am Ende ihrer Lebensdauer ('Particles Max Age') in Metern. Werte zwischen 0.03125 und 4 Metern sind erlaubt.
  • Texture: Hier kann man eine Textur aus dem Inventar auswählen, die dann anstelle der eigentlichen Partikel angezeigt wird (so wie bei den Poofern in SL). Möglichst kleine Texturen verwenden, damit die schnell geladen werden. (Beispiel: Spongebob Textur).
  • Burst Radius: Bestimmt, in welchem Abstand (Radius in Metern) um den Emitter herum, die Partikel mit ihrem Ausstoss beginnen. Funktioniert nicht mit Checkbox 'Follow Source' zusammen. Größter möglicher Wert ist 50 Meter.
  • Burst Speed Min: Bestimmt die geringste Ausstossgeschwindigkeit eines Partikels in Metern pro Sekunde, aus einer Reihe zufällig gewählter Geschwindigkeiten zwischen 'Burst Speed Min' und 'Burst Speed Max'.
  • Burst Speed Max: Bestimmt die größste Ausstossgeschwindigkeit eines Partikels in Metern pro Sekunde, aus einer Reihe zufällig gewählter Geschwindigkeiten zwischen 'Burst Speed Min' und 'Burst Speed Max'.
  • Start Alpha: Bestimmt die Transparenz der Partikel zu Beginn des Ausstosses. Werte zwischen 0 und 1 sind erlaubt. 1 ist dabei voll sichtbar und 0 komplett transparent.
  • End Alpha: Bestimmt die Transparenz der Partikel am Ende ihrer Lebensdauer ('Particles Max Age'). Werte zwischen 0 und 1 sind erlaubt. 1 ist dabei voll sichtbar und 0 komplett transparent. Dieser Wert ist nur aktiv, wenn die Checkbox 'Interpolate Color' aktiv ist.
  • Target Key: Hier kann man die UUID eines Objektes oder Avatars eintragen. Ist eine der beiden Target-Checkboxen auf der rechten Seite des Editor-Fensters aktiv, strömen die Partikel in Richtung des eingetragenen Ziels (und folgen ihm auch, wenn es sich bewegt). Achtung! Diese Funktion auf eine Avatar UUID angewendet, kann einen Abuse Report wegen Griefing zur Folge haben. (Beispiel: Target Position).
  • Acceleration: Drei globale Koordinatenwerte (x,y,z) bewirken einen Kräfteeinfluss auf die Partikel in Meter pro Sekunde. Werte zwischen 0 und 100 sind erlaubt (+/-). Damit lassen sich z.B. Fontänen simulieren, wie sich bei Springbrunnen zu sehen sind. Funktioniert nicht mit Checkbox "Target Linear" zusammen. (Beispiel: Fontäne / Springbrunnen).
  • Omega: Dreht den Emitter im inneren des Quellprims in Radianten pro Sekunde. Dadurch wird der Partikelausstoß in Rotation versetzt, ähnlich wie bei einem Feuerrad zu Silvester. (Beispiel: Partikel-Spirale).
  • Start Color: Bestimmt die Farbe der Partikel zu Beginn ihres Ausstosses.
  • End Color: Bestimmt die Farbe der Partikel am Ende ihrer Lebensdauer ('Particles Max Age'). Eine Eingabe ist hier nur möglich, wenn die Checkbox 'Interpolate Color' aktiviert ist. Dann wird ein Übergang von der eingestellten 'Start Color' berechnet.

Eingenschaften (Checkboxen):
  • Bounce: Aktiviert eine unsichtbare Ebene horizontal um den Mittelpunkt des Partikel Emitters (Prim), auf der herabfallende Partikel abprallen und ihre Richtung ändern (hüpfen). Gilt nur für Partikel, die oberhalb dieser Ebene sind.
  • Emissive: Aktiviert die Eigenschaft "Ganz hell" (full-bright) für die Partikel. Damit werden sie nicht durch globales Licht (Umwelteinstellungen) beeeinflusst und leuchten bei dunkler Umgebung.
  • Follow Source: Bestimmt, ob die Partikel einem sich bewegenden Emitter folgen (aktiviert), oder ob die Bewegung des Emitters keinen Einfluss auf die Partikel hat (nicht aktiviert).
  • Follow Velocity: Bestimmt, ob die Partikel ihre Oberseite in Bewegungsrichtung drehen (aktiviert), oder ob sie immer senkrecht zur Z-Achse bleiben (nicht aktiviert). Macht vor allem Sinn, wenn Texturen als Partikel verwendet werden (z.B. Pfeile, deren Spitze in Flugrichtung zeigen sollen).
  • Interpolate Color: Muss aktiviert sein, wenn man zwischen Beginn und Ende der Partikel-Lebensdauer unterschiedliche Farben und/oder Alphawerte einstellen möchte. Dann wird ein weicher Übergang berechnet.
  • Interpolate Scale: Muss aktiviert sein, wenn man zwischen Beginn und Ende der Partikel-Lebensdauer unterschiedliche Größen der Partikel einstellen möchte. Dann wird ein weicher Übergang berechnet.
  • Target Position:Wenn aktiviert, strömen alle Partikel innerhalb ihrer Lebensdauer zum zugewiesenen Ziel (Avatar oder Objekt), folgen dabei aber noch den anderen eingestellten Parametern. Die Zuweisung erfolgt im Feld 'Target Key' mittels der UUID des Zielobjektes. Ist bei aktivierter Checkbox keine (oder eine fehlerhafte) UUID eingetragen, nimmt sich der Emitter selbst als Ziel, was einen Gravitationseffekt zur Folge hat. (Beispiel: Gravitationskugel).
  • Target Linear: Wenn aktiviert, strömen alle Partikel innerhalb ihrer Lebensdauer geradlinig zum zugewiesenen Ziel (Avatar oder Objekt). Die Zuweisung erfolgt im Feld 'Target Key' mittels der UUID des Zielobjektes. Andere Parameter für Position und Richtung werden hierbei ignoriert.
  • Wind: Wenn aktiviert, werden alle Partikel vom Second Life Wind in ihrer Bewegung beeinflusst.

Ergebnisse speichern:
  • Copy: Kopiert ein fertiges Partikel-Skript in den Zwischenspeicher des Betriebssystems. Mit STRG + C kann es überall eingefügt werden.
  • Inject: Erzeugt direkt das Partikel-Skript in der 'Inhalt'-Registerkarte des mit dem Partikel-Editor ausgewählten Prims.

Es gibt für fast alle Parameter und Eigenschaften noch weitere Einzelheiten, die es zu beachten gilt, bzw. die in Kombination untereinander zu anderen Effekten führen können. Ich gehe darauf hier jetzt aber nicht ein, da dieser Artikel einfach nur eine generelle Übersicht darstellen soll.

Auf jeden Fall lassen sich auch für unerfahrene Skripter mit diesem Editor viele Partikeleffekte verwirklichen. Und das Ausprobieren was passiert, wenn man an den einzelnen Werten dreht, macht Spaß. Also - traut euch :)

Links:
>> Firestorm Wiki: Particle Editor
>> LL-Wiki: llParticleSystem
>> Teleport zum Particle Lab - (inworld Tutorial für Partikel Systeme)

2 Kommentare:

  1. Hi Maddy, im aktuellen Firestorm gibt es diesen Partikeleditor noch nicht. Eventuell in der nächsten Version.

    AntwortenLöschen
  2. Echt? Da machen die so eine umfangreiche Wiki-Seite für ein Tool, das noch gar nicht im Viewer enthalten ist? Oo

    Danke aber für die Info. Ich werde den Blogpost entsprechend ändern.

    AntwortenLöschen