I’m trying to place 1 emitted particle with infinite lifetime
However, particle still disappears after a few moments
I was tried to emit particle periodically via ParticleEmitter parameters, like 20 lifetime and 0.05 rate or 1 lifetime 1 rate, but it’s never work insensibly. No matter how I tweak, it’s always overlap one particle over another, or disappear for waiting a new one.
Also, I tried to :Emit() it via script, but results were the same.
BUT! If I want to create infinite lifetime particle a can’t have any Rate on emitter, because I don’t want to have more than 1 particle, so I still call :Emit() from script.
local emitter = script.Parent
task.wait(2)
emitter:Emit(1)
I have seen some topics about infinite lifetime particles, and still can’t understand why it doesn’t work. (also documentation told only about 20sec. cap for particle ParticleEmitter | Documentation - Roblox Creator Hub)
If you set your graphics quality to max, does it take longer to disappear? If so, you are creating particles in the background somehow which causes older ones to disappear because of the particle limit being really tiny on low graphics.
local emitter = script.Parent
task.wait(2)
while true do
emitter:Emit(1)
task.wait(1000) --lifetime/timescale
end
For Emit first particle after scene loaded(2 seconds is important for having enough time after scene started), and constantly call Emit every lifetime/timescale seconds.
Use transparency curve, with 1 value on nearly beginning and end of a lifecycle, for masking flickering if new particle spawn too early or too late.
In the particle emitter, there is a method called :Clear() which clears all particles. Then you can emit 1 using :Emit(). You can call :Clear() exactly how you call :Emit(), but :Clear() doesn’t take any parameters.
Put it inside of a while loop and do it every 1 second.