SkyWhisper Rexen
Registered User
Join date: 13 Oct 2008
Posts: 1
|
02-09-2010 06:04
My goal is to have a particle or particles appear about 3 meters from the center of the emitter, stay in place for several seconds with no movement and then fade/die.
Is it possible to do this using PSYS_SRC_PATTERN_EXPLODE?
I've been able to minimize motion to be very slow using low BURST speeds and SYS_SRC_ACCEL with negative numbers, but motion is still perceptible.
Trying another tack, using PSYS_SRC_PATTERN_DROP, I can make a particle motionless but only within the center of the emitting prim. I can't make them appear 3 meters out but remain still.
I'm not a scripter, only a particle tinkerer so I'm hoping the answer, if there is one, lies within the llParticleSystem framework. I guess I'm hoping that I'm on the right track but missing the correct combination of parameters.
|
Beverly Ultsch
Registered User
Join date: 6 Sep 2007
Posts: 229
|
02-09-2010 06:26
Rather than go into the details I'll just point you in the direction of this thread. /8/a0/26220/1.html
|
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
|
02-09-2010 06:27
Have a play with this, cribbed from Jesse Barnett's particle map display at /54/bf/225460/6.html#post2228844
float mapSize = 2.5; // size of particle float mapHeight = 3.0; // how high above prim to display it string mapTexture;
integer toggle;
mapParticle() { llParticleSystem([ PSYS_PART_FLAGS, 0, PSYS_SRC_PATTERN, 4, PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 1.0, PSYS_PART_START_COLOR, <1.0,1.0,1.0>, PSYS_PART_END_COLOR, <1.0,1.0,1.0>, PSYS_PART_START_SCALE, < mapSize,mapSize,0.00 >, PSYS_PART_END_SCALE, < mapSize,mapSize,0.00 >, PSYS_PART_MAX_AGE, 5.0, // how long to display for PSYS_SRC_MAX_AGE, 0.00, PSYS_SRC_ACCEL, <0.0,0.0,0.0>, PSYS_SRC_ANGLE_BEGIN, 0.00, PSYS_SRC_ANGLE_END, 0.00, PSYS_SRC_BURST_PART_COUNT, 1, PSYS_SRC_BURST_RADIUS, mapHeight, PSYS_SRC_BURST_RATE, 10.0, // how often to emit a particle PSYS_SRC_BURST_SPEED_MIN, 0.00, PSYS_SRC_BURST_SPEED_MAX, 0.00, PSYS_SRC_OMEGA, <0.00,0.00,0.00>, PSYS_SRC_TEXTURE, mapTexture]); }
default { state_entry() { mapTexture = llGetInventoryName(INVENTORY_TEXTURE,0); llParticleSystem([]); }
touch_start(integer total_number) { toggle =!toggle; if(toggle){ mapParticle(); } else{ llParticleSystem([]); } } changed(integer change){ if(change & CHANGED_INVENTORY){ llResetScript(); } } }
|