User:Daemonika Nightfire/Scripts/Daes Particle: Difference between revisions
Jump to navigation
Jump to search
m just some typos |
|||
| Line 86: | Line 86: | ||
</source> | </source> | ||
==*DS* Particle Wiki v5.0. | ==*DS* Particle Wiki v5.0.02 (2021-05-16 17:14:43 lsl2 script)== | ||
Dieses ist mein beforzugtes Format zum erstellen saemtlicher Particle-Effecte. | Dieses ist mein beforzugtes Format zum erstellen saemtlicher Particle-Effecte. | ||
Der Vorteil besteht darin, das sich diese Kurzfassung uebersichtlich in ein Script an die gewuenschte stelle einfuegen laesst. | Der Vorteil besteht darin, das sich diese Kurzfassung uebersichtlich in ein Script an die gewuenschte stelle einfuegen laesst. | ||
| Line 92: | Line 92: | ||
<source lang="lsl2"> | <source lang="lsl2"> | ||
/* | /* | ||
╔════════════════════════════════−−−−−−−−−→ | |||
║ *DS* Particle Wiki by Daemonika Nightfire (daemonika.nightfire) | |||
╚═══════════════════−−−−−−−−−→ | |||
Daemonika's Particle Wiki fuer Fortgeschrittene (extrem kurzfassung, Deutsch) | |||
Nachfolgende Zeilen dienen ausschliesslich zur Information! | |||
Dieses Script eignet sich hervorragend zum vorbereiten von Particle fuer ein entgueltiges Produkt. | |||
[ Type (gruen) | Value-Zahl (schwarz) | Value-Text (blau) | Beschreibung (orange) ] | |||
System Behavior | System Behavior | ||
integer 0 = PSYS_PART_FLAGS | integer 0 = PSYS_PART_FLAGS // fuer folgende Befehle wichtig: | ||
integer 0x004 = PSYS_PART_BOUNCE_MASK | integer 0x004 = PSYS_PART_BOUNCE_MASK // Der Emitter definiert eine kuenstliche horizontale Ebene auf Hoehe seiner Position, an der die Partikel abprallen | ||
integer 0x100 = PSYS_PART_EMISSIVE_MASK | integer 0x100 = PSYS_PART_EMISSIVE_MASK // Partikel sind lichtunabhaengig wie "Ganz hell" im Baumenue | ||
integer 0x010 = PSYS_PART_FOLLOW_SRC_MASK | integer 0x010 = PSYS_PART_FOLLOW_SRC_MASK // Partikel behalten ihren Startoffset relativ zum Prim und folgen dessen Bewegung | ||
integer 0x020 = PSYS_PART_FOLLOW_VELOCITY_MASK | integer 0x020 = PSYS_PART_FOLLOW_VELOCITY_MASK // Textur richtet sich entlang der Bewegungsrichtung des Partikels aus | ||
integer 0x001 = PSYS_PART_INTERP_COLOR_MASK | integer 0x001 = PSYS_PART_INTERP_COLOR_MASK // beeinflusst Farbe und Alpha | ||
integer 0x002 = PSYS_PART_INTERP_SCALE_MASK | integer 0x002 = PSYS_PART_INTERP_SCALE_MASK // beeinflusst Groesse | ||
integer 0x080 = PSYS_PART_TARGET_LINEAR_MASK | integer 0x080 = PSYS_PART_TARGET_LINEAR_MASK // Partikel bewegen sich linear direkt zum Ziel, Beschleunigung und Radius verlieren ihre uebliche Wirkung | ||
integer 0x040 = PSYS_PART_TARGET_POS_MASK | integer 0x040 = PSYS_PART_TARGET_POS_MASK // Partikel bewegen sich physikalisch beeinflusst zum Ziel unter Beruecksichtigung von Beschleunigung | ||
integer 0x008 = PSYS_PART_WIND_MASK | integer 0x008 = PSYS_PART_WIND_MASK // Partikel werden vom simulierten Wind beeinflusst | ||
integer | integer 0x200 = PSYS_PART_RIBBON_MASK // verbindet aufeinanderfolgende Partikel zu einem Band | ||
System Presentation | System Presentation | ||
integer 9 = PSYS_SRC_PATTERN | integer 9 = PSYS_SRC_PATTERN // fuer folgende Befehle wichtig: | ||
integer 0x02 = PSYS_SRC_PATTERN_EXPLODE | integer 0x02 = PSYS_SRC_PATTERN_EXPLODE // Explosion | ||
integer 0x08 = PSYS_SRC_PATTERN_ANGLE_CONE | integer 0x08 = PSYS_SRC_PATTERN_ANGLE_CONE // Vollkegel, Partikel entstehen innerhalb eines Kegels | ||
integer 0x04 = PSYS_SRC_PATTERN_ANGLE | integer 0x04 = PSYS_SRC_PATTERN_ANGLE // Ring oder Scheibenform in einer Ebene | ||
integer 0x01 = PSYS_SRC_PATTERN_DROP | integer 0x01 = PSYS_SRC_PATTERN_DROP // Partikel entstehen direkt unter dem Emitter ohne Startgeschwindigkeit | ||
integer 0x10 = PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY | integer 0x10 = PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // Hohlkegel, Partikel entstehen nur auf der Mantelflaeche | ||
System Blending Source | |||
integer 24 = PSYS_PART_BLEND_FUNC_SOURCE // fuer folgende Befehle wichtig: | integer 24 = PSYS_PART_BLEND_FUNC_SOURCE // fuer folgende Befehle wichtig: | ||
integer 0x01 = PSYS_PART_BF_ONE // volle Quellfarbe wird in die Mischung uebernommen | |||
integer 0x00 = PSYS_PART_BF_ZERO // Quellfarbe wird ignoriert | |||
integer 0x03 = PSYS_PART_BF_DEST_COLOR // Quellfarbe wird mit der Hintergrundfarbe multipliziert | |||
integer 0x02 = PSYS_PART_BF_SOURCE_COLOR // Quellfarbe verstaerkt sich selbst | |||
integer 0x05 = PSYS_PART_BF_ONE_MINUS_DEST_COLOR // Quellfarbe wird mit invertierter Hintergrundfarbe multipliziert | |||
integer 0x04 = PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR // Quellfarbe wird mit invertierter eigener Farbe multipliziert | |||
integer 0x07 = PSYS_PART_BF_SOURCE_ALPHA // Quellfarbe wird mit eigener Alpha gewichtet | |||
integer 0x06 = PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA // Quellfarbe wird mit invertierter eigener Alpha gewichtet | |||
System Blending Dest | |||
integer 25 = PSYS_PART_BLEND_FUNC_DEST // fuer folgende Befehle wichtig: | integer 25 = PSYS_PART_BLEND_FUNC_DEST // fuer folgende Befehle wichtig: | ||
integer | integer 0x01 = PSYS_PART_BF_ONE // Hintergrund bleibt voll erhalten | ||
integer | integer 0x00 = PSYS_PART_BF_ZERO // Hintergrund wird komplett ersetzt | ||
integer | integer 0x03 = PSYS_PART_BF_DEST_COLOR // Hintergrund wird mit eigener Farbe multipliziert | ||
integer | integer 0x02 = PSYS_PART_BF_SOURCE_COLOR // Hintergrund wird mit Partikelfarbe multipliziert | ||
integer | integer 0x05 = PSYS_PART_BF_ONE_MINUS_DEST_COLOR // Hintergrund wird mit invertierter eigener Farbe multipliziert | ||
integer | integer 0x04 = PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR // Hintergrund wird mit invertierter Partikelfarbe multipliziert | ||
integer | integer 0x07 = PSYS_PART_BF_SOURCE_ALPHA // Hintergrund wird mit Partikel Alpha gewichtet | ||
integer | integer 0x06 = PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA // klassisches Alpha Blending, transparente Ueberblendung | ||
Particle Parameter | Particle Parameter | ||
integer 0 = | integer 0 = // (System Behavior) Beispiel: 0, 0x100 | 0x004 | 0x001 | 0x002 | 0x020 | u.s.w., | ||
vector 1 = PSYS_PART_START_COLOR // Farbe | vector 1 = PSYS_PART_START_COLOR // Start Farbe braucht 0x001 | <0.0,0.0,0.0> bis <1.0,1.0,1.0> | ||
float 2 = PSYS_PART_START_ALPHA // Transparenz | float 2 = PSYS_PART_START_ALPHA // Transparenz Start '' | 0.0 bis 1.0 | ||
vector 3 = PSYS_PART_END_COLOR // Farbe | vector 3 = PSYS_PART_END_COLOR // End Farbe '' | <0.0,0.0,0.0> bis <1.0,1.0,1.0> | ||
float 4 = PSYS_PART_END_ALPHA // Transparenz Ende | float 4 = PSYS_PART_END_ALPHA // Transparenz Ende '' | 0.0 bis 1.0 | ||
vector 5 = PSYS_PART_START_SCALE // | vector 5 = PSYS_PART_START_SCALE // Anfangsgroesse <x,y,z> braucht 0x002 | min. = 0.03125 | max. = 4.00 | z = ungenutzt | ||
vector 6 = PSYS_PART_END_SCALE // | vector 6 = PSYS_PART_END_SCALE // Endgroesse <x,y,z> '' | min. = 0.03125 | max. = 4.00 | z = ungenutzt | ||
float 7 = PSYS_PART_MAX_AGE // Lebensdauer | float 7 = PSYS_PART_MAX_AGE // Lebensdauer der Partikel | max. 30.0 Sekunden | ||
vector 8 = PSYS_SRC_ACCEL // Beschleunigung | vector 8 = PSYS_SRC_ACCEL // Globale Beschleunigung <x,y,z> | ||
integer 9 = | integer 9 = // (System Presentation) Beispiel: 9, 0x08, | ||
------- 10 = // --- unused reserved slot, not implemented --- | |||
------- 11 = // --- unused reserved slot, not implemented --- | |||
string 12 = PSYS_SRC_TEXTURE // Textur UUID erforderlich | string 12 = PSYS_SRC_TEXTURE // Textur UUID erforderlich | Beispiel: "b1d84ecb-2a83-d3c4-7bfb-592648dcb20d" | ||
float 13 = PSYS_SRC_BURST_RATE // | float 13 = PSYS_SRC_BURST_RATE // Zeitintervall zwischen zwei Bursts in Sekunden | min. = 0.01 | ||
------- 14 = // --- unused reserved slot, not implemented --- | |||
integer 15 = PSYS_SRC_BURST_PART_COUNT // | integer 15 = PSYS_SRC_BURST_PART_COUNT // Partikel Anzahl pro Burst | ||
float 16 = PSYS_SRC_BURST_RADIUS // Radius | float 16 = PSYS_SRC_BURST_RADIUS // Startverteilung im Radius | 0.50 = 0.5 Meter Radius | max. = 50.0 Meter | ||
float 17 = PSYS_SRC_BURST_SPEED_MIN // | float 17 = PSYS_SRC_BURST_SPEED_MIN // Mindest Austritts Geschwindigkeit | ||
float 18 = PSYS_SRC_BURST_SPEED_MAX // | float 18 = PSYS_SRC_BURST_SPEED_MAX // Maximale Austritts Geschwindigkeit | ||
float 19 = PSYS_SRC_MAX_AGE // Abschalt | float 19 = PSYS_SRC_MAX_AGE // Abschalt Timer des Emitters | nicht mit Partikel Lebensdauer verwechseln (0.0 = Dauerbetrieb) | ||
key 20 = PSYS_SRC_TARGET_KEY // | key 20 = PSYS_SRC_TARGET_KEY // Ziel UUID fuer TARGET_LINEAR oder TARGET_POS | ||
vector 21 = PSYS_SRC_OMEGA // | vector 21 = PSYS_SRC_OMEGA // Rotationsgeschwindigkeit in Radiant pro Sekunde um <x,y,z> | ||
float 22 = PSYS_SRC_ANGLE_BEGIN // | float 22 = PSYS_SRC_ANGLE_BEGIN // Innerer Winkelbereich bei ANGLE oder ANGLE_CONE | ||
float 23 = PSYS_SRC_ANGLE_END // | float 23 = PSYS_SRC_ANGLE_END // Aeusserer Winkelbereich bei ANGLE oder ANGLE_CONE | ||
integer 24 = | integer 24 = // (System Blending Source) Beispiel: 0x07 | ||
integer 25 = | integer 25 = // (System Blending Dest) Beispiel: 0x06 | ||
float 26 = PSYS_PART_START_GLOW // | float 26 = PSYS_PART_START_GLOW // Glow Start | 0.0 bis 1.0 | ||
float 27 = PSYS_PART_END_GLOW // | float 27 = PSYS_PART_END_GLOW // Glow Ende | 0.0 bis 1.0 | ||
Hier endet die Particle Wiki. | |||
*/ | */ | ||
</source> | </source> | ||
Im eigentlichen Script | ### Hier beginnt der Scriptbereich ### | ||
Im Scriptbefehl werden ausschliesslich die Value Zahlen verwendet. | |||
Das dient der Uebersichtlichkeit im eigentlichen Script | |||
<source lang="lsl2"> | <source lang="lsl2"> | ||
default | default | ||
| Line 170: | Line 189: | ||
{ | { | ||
// In der Liste verwende ich nur benoetigte Parameter. | // In der Liste verwende ich nur benoetigte Parameter. | ||
llLinkParticleSystem(LINK_THIS,[7,3.0, 0,0x100 | 0x001 | 0x002, 9,0x02, | llLinkParticleSystem(LINK_THIS,[7,3.0, 0,0x100 | 0x001 | 0x002, 9,0x02, | ||
1,<0.8,0.6,0.2>, 3,<1.0,0.0,0.0>, 5,<0.10,0.10,0.00>, 6,<0.05,0.05,0.00>, 8,<0.00,0.00,0.1>, | 1,<0.8,0.6,0.2>, 3,<1.0,0.0,0.0>, 5,<0.10,0.10,0.00>, 6,<0.05,0.05,0.00>, 8,<0.00,0.00,0.1>, | ||
13,0.1, 15,2, 16,0.5, 17,0.01, 18,0.02, | 13,0.1, 15,2, 16,0.5, 17,0.01, 18,0.02, 22,0.0, 23,0.0, 21,<0,0,1>, | ||
12,"b1d84ecb-2a83-d3c4-7bfb-592648dcb20d"]); | 12,"b1d84ecb-2a83-d3c4-7bfb-592648dcb20d", 2,1.0, 4,0.5]); | ||
//llLinkParticleSystem(LINK_SET, []); // loescht die Particle | //llLinkParticleSystem(LINK_SET, []); // loescht die Particle | ||
Revision as of 17:10, 15 February 2026
*DS* Particle Wiki v4.0.03 (2021-05-09 23:01:10 lsl2 script)
/*
╔════════════════════════════════−−−−−−−−−→
║ Dae's Particle by Daemonika Nightfire
╚═══════════════════−−−−−−−−−→
http://wiki.secondlife.com/wiki/LlLinkParticleSystem#llLinkParticleSystem
*/
Particle()
{
llLinkParticleSystem(LINK_THIS,[
PSYS_PART_FLAGS, PSYS_PART_EMISSIVE_MASK // option ganz hell
//| PSYS_PART_BOUNCE_MASK // bleiben auf ebene
| PSYS_PART_INTERP_COLOR_MASK // erlaubt den Farbwechsel
| PSYS_PART_INTERP_SCALE_MASK // erlaubt die Groessenaenderung
| PSYS_PART_WIND_MASK // Particle folgen dem wind
//| PSYS_PART_FOLLOW_SRC_MASK // Particle halten relative position zum Prim (!PSYS_SRC_BURST_RADIUS)
| PSYS_PART_FOLLOW_VELOCITY_MASK // Textur Ausrichtung "Oben" zum Ziel
//| PSYS_PART_TARGET_LINEAR_MASK // auf direktem weg zum Ziel (!PSYS_SRC_ACCEL & !PSYS_SRC_BURST_RADIUS)
//| PSYS_PART_TARGET_POS_MASK // auf Umweg zum Ziel
//| PSYS_PART_RIBBON_MASK // verbindet die Particle zu einem Faden (!PSYS_PART_FOLLOW_VELOCITY_MASK)
,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE // Explusion
//PSYS_SRC_PATTERN_DROP // Tropfen (!PSYS_SRC_BURST_RADIUS & !SYS_SRC_BURST_SPEED_MIN & !PSYS_SRC_BURST_SPEED_MAX)
//PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // unvollstaendige Implementierung (NUTZLOS)
//PSYS_SRC_PATTERN_ANGLE_CONE // kugelfoermiger Effekt mit start und end Begrenzung
//PSYS_SRC_PATTERN_ANGLE // ringfoermiger Effekt mit start und end Begrenzung
,
PSYS_PART_BLEND_FUNC_SOURCE, //PSYS_PART_BF_ONE //
//PSYS_PART_BF_ZERO //
//PSYS_PART_BF_DEST_COLOR //
//PSYS_PART_BF_SOURCE_COLOR //
//PSYS_PART_BF_ONE_MINUS_DEST_COLOR //
//PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR //
PSYS_PART_BF_SOURCE_ALPHA // Standard
//PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA //
,
PSYS_PART_BLEND_FUNC_DEST, //PSYS_PART_BF_ONE //
//PSYS_PART_BF_ZERO //
//PSYS_PART_BF_DEST_COLOR //
//PSYS_PART_BF_SOURCE_COLOR //
//PSYS_PART_BF_ONE_MINUS_DEST_COLOR //
//PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR //
//PSYS_PART_BF_SOURCE_ALPHA //
PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA // Standard
,
//PSYS_SRC_TARGET_KEY, "", // Particle zum Ziel (UUID) | PSYS_PART_TARGET_LINEAR_MASK oder PSYS_PART_TARGET_POS_MASK
/**/PSYS_PART_MAX_AGE, 5.0, // Lebensdauer | max. 30.0 Sekunden
PSYS_SRC_MAX_AGE, 0.0, // Abschalt-Timer | nicht mit Lebensdauer verwechseln (0.0 = dauerbetrieb)
PSYS_PART_START_COLOR, <1.0,0.0,0.0>, // Farbe Begin | <0.0,0.0,0.0> bis <1.0,1.0,1.0> PSYS_PART_INTERP_COLOR_MASK
PSYS_PART_END_COLOR, <0.0,0.0,1.0>, // Farbe Ende | <0.0,0.0,0.0> bis <1.0,1.0,1.0> ''
PSYS_PART_START_SCALE, <0.30,0.30,0.00>, // Groesse Begin <x,y,z> | min. = 0.03125 | max. = 4.00 | z = ungenutzt PSYS_PART_INTERP_SCALE_MASK
PSYS_PART_END_SCALE, <0.15,0.15,0.00>, // Groesse Ende <x,y,z> | min. = 0.03125 | max. = 4.00 | z = ungenutzt ''
PSYS_PART_START_ALPHA, 1.00, // Transparenz Begin | 0.0 bis 1.0 PSYS_PART_INTERP_COLOR_MASK
PSYS_PART_END_ALPHA, 0.00, // Transparenz Ende | 0.0 bis 1.0 ''
PSYS_PART_START_GLOW, 0.10, // Gluehen Begin | 0.0 bis 1.0 PSYS_PART_INTERP_COLOR_MASK
PSYS_PART_END_GLOW, 0.00, // Gluehen Ende | 0.0 bis 1.0 ''
/**/PSYS_SRC_BURST_RATE, 0.05, // Geschwindigkeit pro Sekunde | min. = 0.01
/**/PSYS_SRC_BURST_PART_COUNT, 1, // Particle Anzahl | Viewer Limit berechnen, /**/ _COUNT x _RATE x _MAX_AGE = Total
PSYS_SRC_BURST_RADIUS, 0.75, // Radius | max. = 50.0 meter Radius (!PSYS_PART_FOLLOW_SRC_MASK)
PSYS_SRC_BURST_SPEED_MIN, 0.10, // minimal Austritts-Geschwindigkeit |
PSYS_SRC_BURST_SPEED_MAX, 0.25, // maximal Austritts-Geschwindigkeit |
PSYS_SRC_ANGLE_BEGIN, 0.00, // innerer Abstand zum Zentrum | PSYS_SRC_PATTERN_ANGLE oder PSYS_SRC_PATTERN_ANGLE_CONE
PSYS_SRC_ANGLE_END, 0.00, // aeusserer Abstand zum Zentrum | ''
PSYS_SRC_OMEGA, <1,1,1>, // Rotation | Globale Achse <x,y,z>
PSYS_SRC_ACCEL, <0.00,0.00,0.10>, // Beschleunigung | Globale Ausrichtung <x,y,z>
PSYS_SRC_TEXTURE, "" // Textur UUID erforderlich | Beispiel: "b1d84ecb-2a83-d3c4-7bfb-592648dcb20d"
]);
}
// hier unten beginnt das eigentliche script
default
{
state_entry()
{
Particle(); // startet hier das oben angepasste Particlesystem
//llLinkParticleSystem(LINK_SET, []); // loescht die Particle
}
}
*DS* Particle Wiki v5.0.02 (2021-05-16 17:14:43 lsl2 script)
Dieses ist mein beforzugtes Format zum erstellen saemtlicher Particle-Effecte. Der Vorteil besteht darin, das sich diese Kurzfassung uebersichtlich in ein Script an die gewuenschte stelle einfuegen laesst.
/*
╔════════════════════════════════−−−−−−−−−→
║ *DS* Particle Wiki by Daemonika Nightfire (daemonika.nightfire)
╚═══════════════════−−−−−−−−−→
Daemonika's Particle Wiki fuer Fortgeschrittene (extrem kurzfassung, Deutsch)
Nachfolgende Zeilen dienen ausschliesslich zur Information!
Dieses Script eignet sich hervorragend zum vorbereiten von Particle fuer ein entgueltiges Produkt.
[ Type (gruen) | Value-Zahl (schwarz) | Value-Text (blau) | Beschreibung (orange) ]
System Behavior
integer 0 = PSYS_PART_FLAGS // fuer folgende Befehle wichtig:
integer 0x004 = PSYS_PART_BOUNCE_MASK // Der Emitter definiert eine kuenstliche horizontale Ebene auf Hoehe seiner Position, an der die Partikel abprallen
integer 0x100 = PSYS_PART_EMISSIVE_MASK // Partikel sind lichtunabhaengig wie "Ganz hell" im Baumenue
integer 0x010 = PSYS_PART_FOLLOW_SRC_MASK // Partikel behalten ihren Startoffset relativ zum Prim und folgen dessen Bewegung
integer 0x020 = PSYS_PART_FOLLOW_VELOCITY_MASK // Textur richtet sich entlang der Bewegungsrichtung des Partikels aus
integer 0x001 = PSYS_PART_INTERP_COLOR_MASK // beeinflusst Farbe und Alpha
integer 0x002 = PSYS_PART_INTERP_SCALE_MASK // beeinflusst Groesse
integer 0x080 = PSYS_PART_TARGET_LINEAR_MASK // Partikel bewegen sich linear direkt zum Ziel, Beschleunigung und Radius verlieren ihre uebliche Wirkung
integer 0x040 = PSYS_PART_TARGET_POS_MASK // Partikel bewegen sich physikalisch beeinflusst zum Ziel unter Beruecksichtigung von Beschleunigung
integer 0x008 = PSYS_PART_WIND_MASK // Partikel werden vom simulierten Wind beeinflusst
integer 0x200 = PSYS_PART_RIBBON_MASK // verbindet aufeinanderfolgende Partikel zu einem Band
System Presentation
integer 9 = PSYS_SRC_PATTERN // fuer folgende Befehle wichtig:
integer 0x02 = PSYS_SRC_PATTERN_EXPLODE // Explosion
integer 0x08 = PSYS_SRC_PATTERN_ANGLE_CONE // Vollkegel, Partikel entstehen innerhalb eines Kegels
integer 0x04 = PSYS_SRC_PATTERN_ANGLE // Ring oder Scheibenform in einer Ebene
integer 0x01 = PSYS_SRC_PATTERN_DROP // Partikel entstehen direkt unter dem Emitter ohne Startgeschwindigkeit
integer 0x10 = PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // Hohlkegel, Partikel entstehen nur auf der Mantelflaeche
System Blending Source
integer 24 = PSYS_PART_BLEND_FUNC_SOURCE // fuer folgende Befehle wichtig:
integer 0x01 = PSYS_PART_BF_ONE // volle Quellfarbe wird in die Mischung uebernommen
integer 0x00 = PSYS_PART_BF_ZERO // Quellfarbe wird ignoriert
integer 0x03 = PSYS_PART_BF_DEST_COLOR // Quellfarbe wird mit der Hintergrundfarbe multipliziert
integer 0x02 = PSYS_PART_BF_SOURCE_COLOR // Quellfarbe verstaerkt sich selbst
integer 0x05 = PSYS_PART_BF_ONE_MINUS_DEST_COLOR // Quellfarbe wird mit invertierter Hintergrundfarbe multipliziert
integer 0x04 = PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR // Quellfarbe wird mit invertierter eigener Farbe multipliziert
integer 0x07 = PSYS_PART_BF_SOURCE_ALPHA // Quellfarbe wird mit eigener Alpha gewichtet
integer 0x06 = PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA // Quellfarbe wird mit invertierter eigener Alpha gewichtet
System Blending Dest
integer 25 = PSYS_PART_BLEND_FUNC_DEST // fuer folgende Befehle wichtig:
integer 0x01 = PSYS_PART_BF_ONE // Hintergrund bleibt voll erhalten
integer 0x00 = PSYS_PART_BF_ZERO // Hintergrund wird komplett ersetzt
integer 0x03 = PSYS_PART_BF_DEST_COLOR // Hintergrund wird mit eigener Farbe multipliziert
integer 0x02 = PSYS_PART_BF_SOURCE_COLOR // Hintergrund wird mit Partikelfarbe multipliziert
integer 0x05 = PSYS_PART_BF_ONE_MINUS_DEST_COLOR // Hintergrund wird mit invertierter eigener Farbe multipliziert
integer 0x04 = PSYS_PART_BF_ONE_MINUS_SOURCE_COLOR // Hintergrund wird mit invertierter Partikelfarbe multipliziert
integer 0x07 = PSYS_PART_BF_SOURCE_ALPHA // Hintergrund wird mit Partikel Alpha gewichtet
integer 0x06 = PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA // klassisches Alpha Blending, transparente Ueberblendung
Particle Parameter
integer 0 = // (System Behavior) Beispiel: 0, 0x100 | 0x004 | 0x001 | 0x002 | 0x020 | u.s.w.,
vector 1 = PSYS_PART_START_COLOR // Start Farbe braucht 0x001 | <0.0,0.0,0.0> bis <1.0,1.0,1.0>
float 2 = PSYS_PART_START_ALPHA // Transparenz Start '' | 0.0 bis 1.0
vector 3 = PSYS_PART_END_COLOR // End Farbe '' | <0.0,0.0,0.0> bis <1.0,1.0,1.0>
float 4 = PSYS_PART_END_ALPHA // Transparenz Ende '' | 0.0 bis 1.0
vector 5 = PSYS_PART_START_SCALE // Anfangsgroesse <x,y,z> braucht 0x002 | min. = 0.03125 | max. = 4.00 | z = ungenutzt
vector 6 = PSYS_PART_END_SCALE // Endgroesse <x,y,z> '' | min. = 0.03125 | max. = 4.00 | z = ungenutzt
float 7 = PSYS_PART_MAX_AGE // Lebensdauer der Partikel | max. 30.0 Sekunden
vector 8 = PSYS_SRC_ACCEL // Globale Beschleunigung <x,y,z>
integer 9 = // (System Presentation) Beispiel: 9, 0x08,
------- 10 = // --- unused reserved slot, not implemented ---
------- 11 = // --- unused reserved slot, not implemented ---
string 12 = PSYS_SRC_TEXTURE // Textur UUID erforderlich | Beispiel: "b1d84ecb-2a83-d3c4-7bfb-592648dcb20d"
float 13 = PSYS_SRC_BURST_RATE // Zeitintervall zwischen zwei Bursts in Sekunden | min. = 0.01
------- 14 = // --- unused reserved slot, not implemented ---
integer 15 = PSYS_SRC_BURST_PART_COUNT // Partikel Anzahl pro Burst
float 16 = PSYS_SRC_BURST_RADIUS // Startverteilung im Radius | 0.50 = 0.5 Meter Radius | max. = 50.0 Meter
float 17 = PSYS_SRC_BURST_SPEED_MIN // Mindest Austritts Geschwindigkeit
float 18 = PSYS_SRC_BURST_SPEED_MAX // Maximale Austritts Geschwindigkeit
float 19 = PSYS_SRC_MAX_AGE // Abschalt Timer des Emitters | nicht mit Partikel Lebensdauer verwechseln (0.0 = Dauerbetrieb)
key 20 = PSYS_SRC_TARGET_KEY // Ziel UUID fuer TARGET_LINEAR oder TARGET_POS
vector 21 = PSYS_SRC_OMEGA // Rotationsgeschwindigkeit in Radiant pro Sekunde um <x,y,z>
float 22 = PSYS_SRC_ANGLE_BEGIN // Innerer Winkelbereich bei ANGLE oder ANGLE_CONE
float 23 = PSYS_SRC_ANGLE_END // Aeusserer Winkelbereich bei ANGLE oder ANGLE_CONE
integer 24 = // (System Blending Source) Beispiel: 0x07
integer 25 = // (System Blending Dest) Beispiel: 0x06
float 26 = PSYS_PART_START_GLOW // Glow Start | 0.0 bis 1.0
float 27 = PSYS_PART_END_GLOW // Glow Ende | 0.0 bis 1.0
Hier endet die Particle Wiki.
*/
### Hier beginnt der Scriptbereich ### Im Scriptbefehl werden ausschliesslich die Value Zahlen verwendet. Das dient der Uebersichtlichkeit im eigentlichen Script
default
{
state_entry()
{
// In der Liste verwende ich nur benoetigte Parameter.
llLinkParticleSystem(LINK_THIS,[7,3.0, 0,0x100 | 0x001 | 0x002, 9,0x02,
1,<0.8,0.6,0.2>, 3,<1.0,0.0,0.0>, 5,<0.10,0.10,0.00>, 6,<0.05,0.05,0.00>, 8,<0.00,0.00,0.1>,
13,0.1, 15,2, 16,0.5, 17,0.01, 18,0.02, 22,0.0, 23,0.0, 21,<0,0,1>,
12,"b1d84ecb-2a83-d3c4-7bfb-592648dcb20d", 2,1.0, 4,0.5]);
//llLinkParticleSystem(LINK_SET, []); // loescht die Particle
}
}