Partikel Sandsturm oder Schneesturm Erzeugung
Dieses Script erzeugt bei allen verlinkten Prims Partikel.
Anleitung: Verlinke ca. 3 Prims, mache sie Phantom, und schiebe diese zu einem Array auseinander.
Texturiere mindetens eines der Prims mit der späteren Sand-/Schneesturmtextur.
Wenn man die Textur auf die Fläche eines der Partikelprims legt, ist sie in der Sim vorgeladen, und wird allen Besuchern vorab übermittelt.
Das gilt auch wenn danach das Prim transparent gemacht wird. So startet der Sturm bei jedem Viewer sofort mit der sichtbar richtigen Textur.
Ansonsten erfolgt erst die Übertragung der Partikeltextur beim ersten Sturmbeginn.
Aus jedem dieser Prims werden später Partikel erzeugt, die mit dem Wind verweht werden.
Als Textur eignet sich eine transparente Textur mit vielen feinen kleinen Partikeln drauf.
Lege nun in das Rootprim die Partikel Textur (z. Bsp: Sandsturm oder Schneesturm), danach dieses Script.
Wer die Reihenfolge vertauscht hat muss danach ein Script Reset machen.
Das Script liest beim ersten Start die in seimem Rootprim eingefügte Textur aus, und verwendet diese.
Das Script startet im Automatik Modus- wartet also 360 Sekunden bis zur ersten Partikel Erzeugung.
Danach erzeugt es 60 Sekunden lang Partikel, um dann zur nächsten 360 Sek Pause überzugehen. Dieser Zyklus läuft endlos.
Mit Klick auf eines dieser Prims kann man die Sand- / Schneesturm Erzeugung dauerhaft ausschalten- oder die Automatik wieder einschalten
Der Sturm dauert jeweils "sturmdauer" Sekunden, und macht danach "sturmpause" Sekunden Pause.
float sturmdauer = 60.0;
float sturmpause = 360.0;
Wer Lust hat kann das auch mit Zufallszeiten ersetzten
Mache nach erfolgten Test alle Prims unsichtbar
Achtet aber daruaf nicht zuviele Partikel auf einer Sim gleichzeitig zu erzeugen.
Ausserdem sollte bei Events daran gedacht werden das schwache Rechner Probleme mit zuviel Partikeln bekommen können.
Die Anzahl der im Viewer dargestellten Partikeln läßt sich darin im Grafik Setup Menü einstellen.
Wenn man die Partikel nicht sieht, lohnt sich ein Blick da hinein.
Viel Spaß
Tron
Dieses Script erzeugt bei allen verlinkten Prims Partikel.
Anleitung: Verlinke ca. 3 Prims, mache sie Phantom, und schiebe diese zu einem Array auseinander.
Texturiere mindetens eines der Prims mit der späteren Sand-/Schneesturmtextur.
Wenn man die Textur auf die Fläche eines der Partikelprims legt, ist sie in der Sim vorgeladen, und wird allen Besuchern vorab übermittelt.
Das gilt auch wenn danach das Prim transparent gemacht wird. So startet der Sturm bei jedem Viewer sofort mit der sichtbar richtigen Textur.
Ansonsten erfolgt erst die Übertragung der Partikeltextur beim ersten Sturmbeginn.
Aus jedem dieser Prims werden später Partikel erzeugt, die mit dem Wind verweht werden.
Als Textur eignet sich eine transparente Textur mit vielen feinen kleinen Partikeln drauf.
Lege nun in das Rootprim die Partikel Textur (z. Bsp: Sandsturm oder Schneesturm), danach dieses Script.
Wer die Reihenfolge vertauscht hat muss danach ein Script Reset machen.
Das Script liest beim ersten Start die in seimem Rootprim eingefügte Textur aus, und verwendet diese.
Das Script startet im Automatik Modus- wartet also 360 Sekunden bis zur ersten Partikel Erzeugung.
Danach erzeugt es 60 Sekunden lang Partikel, um dann zur nächsten 360 Sek Pause überzugehen. Dieser Zyklus läuft endlos.
Mit Klick auf eines dieser Prims kann man die Sand- / Schneesturm Erzeugung dauerhaft ausschalten- oder die Automatik wieder einschalten
Der Sturm dauert jeweils "sturmdauer" Sekunden, und macht danach "sturmpause" Sekunden Pause.
float sturmdauer = 60.0;
float sturmpause = 360.0;
Wer Lust hat kann das auch mit Zufallszeiten ersetzten
Mache nach erfolgten Test alle Prims unsichtbar
Achtet aber daruaf nicht zuviele Partikel auf einer Sim gleichzeitig zu erzeugen.
Ausserdem sollte bei Events daran gedacht werden das schwache Rechner Probleme mit zuviel Partikeln bekommen können.
Die Anzahl der im Viewer dargestellten Partikeln läßt sich darin im Grafik Setup Menü einstellen.
Wenn man die Partikel nicht sieht, lohnt sich ein Blick da hinein.
Code:
// P424 Sandsturm Erzeugung für verlinkte Prims by Tron CC0
// Anleitung: Verlinke ca. 3 Prims und schiebe diese zu einem Array auseinander.
// Aus jedem dieser Prims werden später Partikel erzeugt, die mit dem Wind verweht werden.
// Lege in das Rootprim erst die Sandsturm Textur, danach dieses Script.
// Mache alle Prims Phantom und unsichtbar
//
// Das Script startet im Automatik Modus- wartet also 360 Sekunden bis zur ersten Partikel Erzeugung.
// Danach erzeugt es 60 Sekunden Partikel, um dann zur nächsten 360Sek Pause überzugehen.
// Mit klick auf eines dieser Prims kann man die Sandsturm Erzeugung dauerhaft ausschalten- oder die Automatik wieder einschalten
// Der Sturm dauert jeweils "sturmdauer" Sekunden, und macht danach "sturmpause" Sekunden Pause.
float sturmdauer = 60.0;
float sturmpause = 360.0;
// ENDE USERPARAMETER
integer sandsturm;
sandpartikel(integer sturm)
{
if (sturm)
{
llLinkParticleSystem( LINK_SET , // Sandsturm in allen verlinkten Prims einschalten
[
PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_EXPLODE,
PSYS_SRC_BURST_RADIUS,20,
PSYS_SRC_ANGLE_BEGIN,PI/2,
PSYS_SRC_ANGLE_END,PI/2 + 0.01,
PSYS_SRC_TARGET_KEY,llGetKey(),
PSYS_PART_START_ALPHA,0.1,
PSYS_PART_END_ALPHA,0.3,
PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_ALPHA,
PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA,
PSYS_PART_START_SCALE,<100.0,100.0,100.0>,
PSYS_PART_END_SCALE, <100.0,100.0,100.0>,
PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0), // erste Textur aus Prim auslesen und nehmen
PSYS_SRC_MAX_AGE,0,
PSYS_PART_MAX_AGE,10,
PSYS_SRC_BURST_RATE,0.1,
PSYS_SRC_BURST_PART_COUNT,3,
PSYS_SRC_ACCEL,<0.0,0.0,0.0>,
PSYS_SRC_OMEGA,<0.0,0.0,0.0>,
PSYS_SRC_BURST_SPEED_MIN,0.6,
PSYS_SRC_BURST_SPEED_MAX,0.6,
PSYS_PART_FLAGS,0
| PSYS_PART_INTERP_SCALE_MASK
| PSYS_PART_BOUNCE_MASK
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_WIND_MASK
]);
sandsturm = TRUE;
llSetTimerEvent(sturmdauer);
}
else
{
llLinkParticleSystem(LINK_SET, []); // Sandsturm ausschalten
sandsturm = FALSE;
llSetTimerEvent(sturmpause);
}
}
default
{
state_entry()
{
sandpartikel(FALSE);
}
touch_start(integer touched)
{
if (sandsturm)
{
sandpartikel(FALSE);
llWhisper(0,"Sandsturm ausgeschalten");
llSetTimerEvent(0.0);
}
else
{
sandpartikel(TRUE);
llWhisper(0,"Sandsturm auf Automatik eingeschalten");
}
}
timer()
{
sandpartikel(!sandsturm);
}
}
Viel Spaß
Tron