Spawn rate can't be 0 with Burst List

I tried to change the spawn rate to 0 with a particle parameter but it won’t change to 0 and instead behave like the value is 1. When I use a float constant with 0 as the spawn rate it is the same bug. But when I choose to use no Burst List it works correctly. So there must be a bug in the Burst List behaviour.
I also had turned off any LOD settings to make sure LODs are not messing with it.

Hi Davision -

Can you let me know what your Burst List Count, Count Low and Time are set at? Also why type of emitter are you using, a standard CPU sprite, a GPU, a Mesh Emitter, etc.?

Thank You

Eric Ketchum

I saw something like this as well, and fiddled a bit, and that behavior went away. I forget exactly what the change was, unfortunately, but I had the same impression of the behavior. The good news is: there’s some change you can make to make it work right :slight_smile: (Maybe I deleted and re-added the component? Maybe I gave it a limited time to live? I forget.)

  • Burst List Count: 50
  • Burst List count Low: 50
  • Burst Time: 0
  • Lifetime 10-18
  • Using GPU particles
  • Emitter Loops: 0

Hi Davision -

After testing your setup on a default particle emitter, the particle system is behaving as expected. If the effect you are looking for is to have you emitter spawn 50 sprites and then wait the 10 to 18 seconds of the particles lifetime in order to spawn an additional burst then you will need to set the Emitter Duration to 18 and the Duration Low to 10. I have attached a gif file of both emitters below. If you only want it to burst once and then be done then you will need to set the Emitter Loops to 1.

39449-gpuburst.gif

Thank You and Let me know if I can help further -

Eric Ketchum

What I like to do is basically pause the spawning of particles. My particle system is existing all the time but I need to pause emitters of it spawning. Pause is important but also letting it fade to a pause which spawn rate 0 should be, but it doesn’t work like that because of some bug. I could just go making the burst scale a parameter too but I already have 3 spawn rate parameters that I change every tick and that particle system is already pretty expensive as it is.

Hi Davision -

Ah thank you for the clarification, but I do want to ask if you are mis-speaking? You are listing and talking about Spawn Rate, but if you are using a Burst List you should be adjusting the Burst Scale which functions on Burst Lists and not Rate Scale which only functions on Rate spawned particles. Changing the Burst Scale to a Float Particle Parameter should allow you to Pause your Particle system as you are describing.

If I am misunderstanding please let me know -

Thank You

Eric Ketchum

I’m not adjusting Rate Scale, I’m adjusting Spawn Rate and Burst Count is then dependant on that. It works all fine til Spawn Rate is lower then 1. Below 1 remains 1. So if I set it to 0 it really remains 1 and keeps spawning particles.

HI Davision -

I think you are misunderstanding how the Spawn module is meant to work. The Spawn module provides access to two different spawning methods, the typical Spawn method in which there is a set number of sprites generated on each loop of the emitter and the Burst method in which there is a set number of particles released all at once at a particular time on each loop. So, if your Rate is set to a Constant 0, but your Burst List is set to have 1 event at Emitter Time 0.0 of 1 Sprite then the emitter will emit one sprite at time 0.0 on every emitter loop. (Picture below for illustration.)

As another example, if you have a Rate of 20 then every emitter loop your emitter will emit 20 sprites over the course of your emitter’s duration. On teh other hand if your rate is zero but you have a Burst event at Time 0.0 of 20 then your emitter will emit 20 particles all at once on each loop at emitter time 0.0.

Ultimately, adjusting Rate OR Burst will not effect the other at all.

Thank You

Eric Ketchum

Oh ok, so if I want to have particles spawned all the the time but that in chunks I would set the spawn rate = 0, the burst count of how many should be in a chunk and then make the emitter time very low?

Yep that would work, as long as you keep the emitter time no shorter than the lifetime of the particle or they will pop out as the emitter loops.