|
Dendre Benelli
Registered User
Join date: 8 May 2007
Posts: 37
|
05-13-2008 04:23
Can anyone give me advice on how to control the starting point of a particle flame?
When I put the particle script into the prim the flame goes from the center of the prim rather from the top...
When I change the RADIUS from 0 to some positive number it lifts the flame and brings it to the top of the prim which is great but I see some few particles on the bottom of the prim too on the same distance from the center of the prim as the top particle..Its like its mirroring the top flame...
Does anyone know how to fix it or know any other way to bring the flame particle to the top of the prim without changing RADIUS from 0? Thanks a lot in advance!
|
|
2k Suisei
Registered User
Join date: 9 Nov 2006
Posts: 2,150
|
05-13-2008 04:36
Try changing the 'Pattern' parameter to PSYS_SRC_PATTERN_ANGLE
Also, set the inner and outer angle to 0.
If you're not sure where these parameters are, post a copy of your script and I'll point them out. Many particle scripts use different names for each parameter.
|
|
Dendre Benelli
Registered User
Join date: 8 May 2007
Posts: 37
|
05-13-2008 05:18
thank u so much for your reply! I changed everything like u said but the flame still doesnt start at the top of the prim...Can you please have a look at the script Im using?
float gfHeight = 1.0; integer giLighted = TRUE; Flame() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK | PSYS_PART_BOUNCE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <1.0, 0.5, 0.0>, PSYS_PART_END_COLOR, <1.0, 1.0, 0.0>, PSYS_PART_START_SCALE, <0.06000, 0.08000, 0.06000> * gfHeight, PSYS_PART_END_SCALE, <0.04000, 0.08000, 0.06000> * gfHeight, PSYS_SRC_ACCEL, <0.00000, 0.00000, 0.00000>, PSYS_PART_MAX_AGE, 0.30000 * gfHeight, PSYS_SRC_BURST_RATE, 0.020000, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.001000, PSYS_SRC_BURST_SPEED_MIN, 0.100000, PSYS_SRC_BURST_SPEED_MAX, 0.500000, PSYS_SRC_INNERANGLE, 0, PSYS_SRC_OUTERANGLE, 0, PSYS_SRC_OMEGA, <0.00000, 0.00000, 5.00000>, PSYS_SRC_MAX_AGE, 0.000000, PSYS_PART_START_ALPHA, 1.000000, PSYS_PART_END_ALPHA, 0.100000 ]); }
Smoke() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK | PSYS_PART_BOUNCE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <0.2, 0.2, 0.2>, PSYS_PART_END_COLOR, <0.4, 0.4, 0.4>, PSYS_PART_START_SCALE, <0.06000, 0.08000, 0.06000> * gfHeight, PSYS_PART_END_SCALE, <0.04000, 0.08000, 0.06000> * gfHeight, PSYS_SRC_ACCEL, <0.00000, 0.00000, 0.50000>, PSYS_PART_MAX_AGE, 2.0000 * gfHeight, PSYS_SRC_BURST_RATE, 0.20000, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.001000, PSYS_SRC_BURST_SPEED_MIN, 0.100000, PSYS_SRC_BURST_SPEED_MAX, 0.500000, PSYS_SRC_INNERANGLE, 1.550000, PSYS_SRC_OUTERANGLE, 1.540000, PSYS_SRC_OMEGA, <0.00000, 0.50000, 5.00000>, PSYS_SRC_MAX_AGE, 0.000000, PSYS_PART_START_ALPHA, 1.000000, PSYS_PART_END_ALPHA, 0.100000 ]); llSleep(1.5); llParticleSystem([]); } default { state_entry() { Flame(); }
on_rez(integer iStartParameter) { llResetScript(); }
touch_start(integer iNumberTouching) { integer i = 0; do { if (giLighted) { Smoke(); giLighted = FALSE; } else { Flame(); giLighted = TRUE; } ++i; } while (i < iNumberTouching);
} }
|
|
Dendre Benelli
Registered User
Join date: 8 May 2007
Posts: 37
|
05-13-2008 05:19
I can show u my prim in-world if its gonna help....Sorry to bother u and thank u so much for your kind help!!!!
|
|
2k Suisei
Registered User
Join date: 9 Nov 2006
Posts: 2,150
|
05-13-2008 05:33
float gfHeight = 1.0; integer giLighted = TRUE; Flame() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK | PSYS_PART_BOUNCE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <1.0, 0.5, 0.0>, PSYS_PART_END_COLOR, <1.0, 1.0, 0.0>, PSYS_PART_START_SCALE, <0.06000, 0.08000, 0.06000> * gfHeight, PSYS_PART_END_SCALE, <0.04000, 0.08000, 0.06000> * gfHeight, PSYS_SRC_ACCEL, <0.00000, 0.00000, 0.00000>, PSYS_PART_MAX_AGE, 0.30000 * gfHeight, PSYS_SRC_BURST_RATE, 0.020000, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.2000, PSYS_SRC_BURST_SPEED_MIN, 0.100000, PSYS_SRC_BURST_SPEED_MAX, 0.500000, PSYS_SRC_INNERANGLE, 0.0, PSYS_SRC_OUTERANGLE, 0.0, PSYS_SRC_OMEGA, <0.00000, 0.00000, 0.00000>, PSYS_SRC_MAX_AGE, 0.000000, PSYS_PART_START_ALPHA, 1.000000, PSYS_PART_END_ALPHA, 0.100000 ]); }
Smoke() { llParticleSystem([ PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK | PSYS_PART_BOUNCE_MASK, PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <0.2, 0.2, 0.2>, PSYS_PART_END_COLOR, <0.4, 0.4, 0.4>, PSYS_PART_START_SCALE, <0.06000, 0.08000, 0.06000> * gfHeight, PSYS_PART_END_SCALE, <0.04000, 0.08000, 0.06000> * gfHeight, PSYS_SRC_ACCEL, <0.00000, 0.00000, 0.50000>, PSYS_PART_MAX_AGE, 2.0000 * gfHeight, PSYS_SRC_BURST_RATE, 0.20000, PSYS_SRC_BURST_PART_COUNT, 10, PSYS_SRC_BURST_RADIUS, 0.001000, PSYS_SRC_BURST_SPEED_MIN, 0.100000, PSYS_SRC_BURST_SPEED_MAX, 0.500000, PSYS_SRC_INNERANGLE, 1.550000, PSYS_SRC_OUTERANGLE, 1.540000, PSYS_SRC_OMEGA, <0.00000, 0.50000, 5.00000>, PSYS_SRC_MAX_AGE, 0.000000, PSYS_PART_START_ALPHA, 1.000000, PSYS_PART_END_ALPHA, 0.100000 ]); llSleep(1.5); llParticleSystem([]); } default { state_entry() { Flame(); }
on_rez(integer iStartParameter) { llResetScript(); }
touch_start(integer iNumberTouching) { integer i = 0; do { if (giLighted) { Smoke(); giLighted = FALSE; } else { Flame(); giLighted = TRUE; } ++i; } while (i < iNumberTouching);
} }
|
|
2k Suisei
Registered User
Join date: 9 Nov 2006
Posts: 2,150
|
05-13-2008 05:38
I'm taking it that you had already changed the script before posting it, because the only thing I had to change was the PSYS_SRC_OMEGA to stop it from spinning.
Remember, when changing values in that type of particle script, you must always enter floating point values. So rather than 1 you enter 1.0
|
|
Dendre Benelli
Registered User
Join date: 8 May 2007
Posts: 37
|
05-13-2008 05:55
OMG!!! thank you so much!!!! Its working!!! Youre genious!!!! Im so greatful for your help!!! Thank you!!
|