Particles persist forever if you aren't looking at them

I actually didn’t know they still did move (according to what you said) as it doesn’t feel like they are. I assume they completely halt the despawning of the particles, which is definitely the opposite it should do.

1 Like

I said it isn’t just that they aren’t moving - You are correct, they aren’t moving when looking away either, but realistically I don’t think it’d be as much of a problem if that was the only thing they were doing, it’s more the mass build up and eventual performance problems from them never de-spawning that’s the real game breaker

5 Likes

This problem. Is so. Annoying.

Roblox, please. Fix this!!!

5 Likes

Please tell me this isn’t still an issue? It’s hard to believe roblox pretends to cater to low-end devices when they can’t even stop particles from wildly over-rendering.

2 Likes

Everytime I see this topic, I pray that the 1-5 new messages include one from an engineer, but no. For some reason this simple fix is ignored. If it’s not simple, why don’t they say? Shouldn’t we be more understanding if it’s actually a huge task behind the scenes?

You may be able to fix this yourself by setting the particle’s rate to zero when the origin of the emitter isn’t onscreen. It would be hacky, but it could be made nicely if you fit it in with your game’s systems.

(edit): My wish came true!

3 Likes

So not rendering particles if the player isn’t looking at them is a ground-breaking, world-destructing action that would doom humanity to die and Roblox’s already failing servers to fail even more. :exploding_head:

2 Likes

Yikes - so sorry we’re late to the party. I understand how frustrating it must be to encounter such a problem and not receive a timely response.

We’ve successfully reproduced the problem of emitting invisible particles indefinitely and are actively working on a solution.

I can’t pinpoint the exact reason this hasn’t been addressed earlier. It’s possible that, at some point, it was mistakenly classified under requests for a more robust “offline” particles simulation. While that is an interesting feature to consider for the future, it should not have overshadowed this immediate concern.

Thank you for bringing it to our attention and ensuring it didn’t get lost in the shuffle.

25 Likes

I have one question for the community.

Why do you use :Emit() instead of the .Rate property?

Could you provide a few examples where you would prefer to use Emit.

Thanks!

2 Likes

Good question. The main reason most games use :Emit() rather than .Rate is because the Rate property of ParticleEmitters is not consistent for all players and varies based on graphics level.

For example, if player A has their graphics level on 1 (the minimum) and player B has their graphics level on 10 (the maximum), player A will see significantly less particles than player B. Emit() ensures consistency with the rate particles are emitted regardless of each players’ graphics settings.

Also, let’s say you want a particle to just emit once, it’s much more intuitive to use :Emit() rather than changing the .Enabled property of the ParticleEmitter.

6 Likes

I personally use :Emit() for more spontaneous effects such as explosions, smoke, etc and I’d like to emit a certain amount of particles so that it achieves the intended visual effect.

11 Likes

Emit was added for some very clear use-cases, particularly reproducibility of precise effects. E.g. I’ve seen volumetric fog on a voxel grid with one particle emitted per voxel, timing particles precisely to audio, or simply matching the number of particles to the number of points earned.

4 Likes

Great! Thanks for the additional info!

7 Likes

Not to mention bugs with rendering particles and flipbooks,

There is (still) an issue where flipbooks and textures have black outlines when imported into roblox, and roblox has left the community to find fixes using external software that don’t even work half the time.

3 Likes

This is off topic here but WRT this issue there are better solutions than forcing the upload flow to always colorize transparent pixels. The bug here is just an artifact of the way aliasing/mipmapping works in the engine - the issue is actually with the image uploaded. Roblox should offer an image upload widget in studio with settings for what pixelfix does, like the 3D importer widget. Take further discussion on this to the relevant thread.

4 Likes

YESS!! FINALLY! ROBLOX STAFF!!!

We have finally after so long gotten a response from Roblox staff!! (in this thread covering the topic)
Hopefully they can figure it out and solve this issue!

The days of particle lag and build up off screen will hopefully soon be over!

2 Likes

Thanks for the reply! I have particles spawned at a distance, like the plane exhaust in the original post - I’ve noticed that manually emitting is the most consistent way to get them to display, where as automatic emission is much more likely to be culled/turn off at a distance.

When it comes to the sort of ‘cloud’ effect I have, I also emit clumps of particles at random in the sky, to form a non-consistent ‘chunky’ cloud effect.

I also would use :emit() for other things, say, if I had a cannon - I’d want to emit a bunch of smoke particles when the cannon fires but not just overtime, so :emit() is the practical way to do that.

I think realistically this bug would show up the most for things like that - weapons, cannons, and spontaneous effects - That if you weren’t looking at, could still have the particles waiting for you if you turned back, indefinitely.
Thanks again for looking into this.

1 Like

Its a bug, there is no proper excuse to justify why roblox can’t handle textures like any other game engine,
for example:
why is it, that in studio this texture is fine:
image

But in game it has this horrific effect:


it has the biggest black outline, completely ruining the effect.

2 Likes

I’d like to chip in. I’m currently working on an animated fountain which uses a lot of particles, and the system I’ve come up with relies on :Emit() to display the particles equally for everyone regardless of quality level. This also lets me manually adjust the rate per player without their own graphics settings getting in the way of the adjustment.

1 Like

The current system only simulates particles when they are visible. Keep that in mind. So even when we fix the issue with the forever persisted :Emit particles, you would still have a situation when your plane flies behind the camera but the previously spawned particles don’t get updated until you look at them again.
We would like to rework the Particle System, but unfortunately this is not our priority right now.

5 Likes

Please create a separate Bug Report for this one if you have not already. Otherwise it will get lost.
Thanks!

5 Likes