Home Unreal Engine

Random particle system play?

polycounter lvl 10
Offline / Send Message
naked_chicken polycounter lvl 10
Hey there, I have a particle system (dust falling from the ceiling) that I want to set up to play randomly within a given time frame (every 10-50 seconds for example).

I've played around with different ways to accomplish this, I know you can just give an emitter a random duration between 10-50 and tell it to use the range giving me my randomness for that particular emitter. The problem is the particle system has 4 emitters and each one gets its own random duration, I need them all to fire at the same time so that doesn't work.

The solution I've gone with so far is to have one emitter do the ranged duration and only spawn one particle with an event generator.
The rest of my emitters generate their particles from that event. This looks good and gives me exactly what I want but I can't help but wonder if having the whole particle system play all the time even though there are only particles on screen periodically (because the dust goes away after only 4-8 seconds but the whole system continues to play for the 10-50 seconds) is going to give me some sort of performance hit.

So my question is this, does a particle system still count as a performance hit if it's playing but there are no actual particles active? If so (or even if not so I guess) can anyone suggest a better way to randomly play my "dust falling from ceiling" effect? Kismet maybe but 1 - I'd like to be able to just place a particle system in any level and have it work automatically, not open each level and set up a Kismet event. And 2 - I don't actually know how to do that just yet so if it is the better method could you maybe point me in the direction of any documentation on setting up a random particle player in kismet?

Thanks

Replies

  • imbueFX
    Options
    Offline / Send Message
    imbueFX polycounter lvl 5
    There is a performance hit for keeping a particle system active. But, that cost is extremely negligible if you have no particles emitting. You can do some profiling on the CPU side to see what it costs per cycle if you're that curious.

    As for alternatives, I would say the event generator is the exact same thing I would do if you want to keep it all in Cascade.

    You can have a particle event generator in kismet with a random float telling your particle system to spawn. Let me digest on this some more to see if I can figure out another way to link all emitter to use the same random seed value.
  • imbueFX
    Options
    Offline / Send Message
    imbueFX polycounter lvl 5
    Another quick note about optimization, make sure you also use fixed bounds on your particle system. That will help reduce the performance cost even more.
  • MorganFX
    Options
    Offline / Send Message
    hey naked_chicken, If you want randomness using only one emitter (to be optimized). You could try using the delay in the actual particle system properties ( by clicking in the black area next to your emitters), under the Delay dropdown set your to delay and delay low and check on use delay range. This might work if you want randomization using one emitter. I don't know if thats what your looking for.
Sign In or Register to comment.