12-01-2012, 09:52 PM
I have a pretty good grasp of the Particle Editor, but I noticed something interesting. I've created this billowing smoke particle system (for the sake of experimentation), and when I use it ingame, and call the DestroyParticleSystem() function on it, the result is different depending on when the function was invoked.
There is a certain time period (about 5s, which is also (coincidentally?) the lifetime of the particles) during which the PS sprouts a bunch of particles, as if they accumulated "inside" it before the PS was created.
During this time, the call to DestroyParticleSystem() works, but the effect is delayed until this sprout period is over. On the other hand, if I wait for this to end (as I said, about 5s, and you can tell by the fact that after it occasional gaps begin to appear between the emitted particles), and then invoke DestroyParticleSystem(), the effect is instantaneous.
Why is this the case? Can this behavior be changed, or is it hard-coded into the engine?
I've attached the .ps file below, so that you can try it out yourself.
There is a certain time period (about 5s, which is also (coincidentally?) the lifetime of the particles) during which the PS sprouts a bunch of particles, as if they accumulated "inside" it before the PS was created.
During this time, the call to DestroyParticleSystem() works, but the effect is delayed until this sprout period is over. On the other hand, if I wait for this to end (as I said, about 5s, and you can tell by the fact that after it occasional gaps begin to appear between the emitted particles), and then invoke DestroyParticleSystem(), the effect is instantaneous.
Why is this the case? Can this behavior be changed, or is it hard-coded into the engine?
I've attached the .ps file below, so that you can try it out yourself.