Repro: make a particle emitter, decrease it’s lifetime, set it’s size or transparency to decrease, turn away and after a second turn back, the particles will abruptly disappear
Expected behavior
Particle properties should respect the frozen state when you can’t see the particle emitter
Oops, yeah, this might indeed be related to their attempt to fix the problem I presented in that thread.
It was noted that things like transparency wouldn’t properly animate/change while looking away from it. Realistically, this is still better than what it was doing before - Before this, particles would often wait for you to look back to be created, meaning you could get 10x the amount of particles spawning out of nowhere upon looking back, which would then go their full lifetime.
Seems like only computing the time a particle is alive for, but not it’s more dynamic things like transparency, was the compromise they went for.
Realistically, to be brutally honest, their particle system is just not coded up to standards if this sort of compromise has to be made to begin with, but it seems like they’re struggling to figure out how to get this working right.
Surely, they could perhaps have some sort of frame-skipping effect for particles you’re looking away from, to keep them updated even if not frequently… it is so unusual that the route they had to go was simply never updating the properties of a particle at all if you aren’t looking at them.
calculate each frame where the particle should be like normal, have it not render for the sake of performance (Roblox lacks an universal “render” option for anything)
calculate the point where the particle should be at when it’s in sight, and go from there.
They decided to not use any of these and instead just “disable” the emitter when not looked at. So, as you said, not up to standards. Don’t have high hopes from them for a 2D particle system, let alone a 3D one.
Maybe this is something different then. For me, it wasn’t that I noticed it disabling the emitters when looking away from them, as much as it simply wasn’t syncing transparency/size changes, causing them to disappear at the right time but not ‘fade’ like people usually set up their particles.
I can get a gif of that maybe real quick to demonstrate, see if we’re dealing with two different problems or not
Thank you for your report. This issue is known and stems from addressing the “Particles persist forever” problem. As you rightly pointed out, there are alternative approaches to ensure the particle system functions correctly without taking shortcuts. However, implementing these solutions would require some effort, particularly to maintain current performance and memory efficiency. Simulating all particles in every frame would naturally be more resource-intensive than limiting simulations to only visible particles, so optimizations would be necessary beforehand.
While this optimization is feasible, it is not currently on our priority list. However, we have noted it as a requested feature, and we hope to improve the particle system more comprehensively in the future.