ParticleSystem3D flickers occasionally when replayed (Cocos 2.4.13)

I’m using ParticleSystem3D in Cocos 2.4.13. Most of the time, it plays normally when I replay it, but occasionally it flickers or flashes unexpectedly.

Here’s the function I’m using to control the particle playback:

controlParticles3D(node, play) {
    let particle = node.getComponent(cc.ParticleSystem3D);
    if (particle) {
        if (play) {
            particle.stop();
            particle.clear();
            this.scheduleOnce(() => {
                particle.play();
            }, 0);
        } else {
            particle.stop();
        }
    }

    if (node.children.length > 0) {
        node.children.forEach(child => this.controlParticles3D(child, play));
    }
}

Has anyone encountered this issue? Is there a known workaround or a better way to reset and replay ParticleSystem3D?

Hey @y7i5r3e2, I’ve seen similar flickering when resetting ParticleSystem3D too. Instead of calling stop() and clear() back-to-back, try just stop() and then play() after a small delay, or set particle.node.active false and back to true. Sometimes the clear call seems to mess with internal states. Let me know if that helps!

Thanks for the suggestion!

I tried removing the clear() call and only used stop() followed by play() , but the flickering issue still occurs from time to time — not every time, but randomly.

I also tried toggling particle.node.active = false and then true, but the issue still happens.
In fact, if I trigger the same particle effect multiple times in a short period, setting active = false doesn’t seem to reset the effect properly — sometimes it doesn’t respond at all.