From cc515062f34e6167e8518e7df01392734d4d9160 Mon Sep 17 00:00:00 2001 From: "zhefeng.zhang" <35944775+zhefengzhang@users.noreply.github.com> Date: Tue, 16 Sep 2025 16:40:04 +0800 Subject: [PATCH 1/3] fixed when low fps cannot play particle --- cocos/particle/particle-system.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cocos/particle/particle-system.ts b/cocos/particle/particle-system.ts index 7ac6b9a652a..a9b125535b0 100644 --- a/cocos/particle/particle-system.ts +++ b/cocos/particle/particle-system.ts @@ -1443,7 +1443,7 @@ export class ParticleSystem extends ModelRenderer { // emit particles. const startDelay = self.startDelay.evaluate(0, 1)!; if (self._time > startDelay) { - if (self._time > (self.duration + startDelay)) { + if (self._time - (self.duration + startDelay) > dt) { // self._time = startDelay; // delay will not be applied from the second loop.(Unity) // self._emitRateTimeCounter = 0.0; // self._emitRateDistanceCounter = 0.0; From 9316e67673648d51f4692183e0157e3e8ed51037 Mon Sep 17 00:00:00 2001 From: "zhefeng.zhang" <35944775+zhefengzhang@users.noreply.github.com> Date: Mon, 27 Oct 2025 16:49:09 +0800 Subject: [PATCH 2/3] Update particle-system.ts --- cocos/particle/particle-system.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cocos/particle/particle-system.ts b/cocos/particle/particle-system.ts index a9b125535b0..661533d7a14 100644 --- a/cocos/particle/particle-system.ts +++ b/cocos/particle/particle-system.ts @@ -1443,7 +1443,8 @@ export class ParticleSystem extends ModelRenderer { // emit particles. const startDelay = self.startDelay.evaluate(0, 1)!; if (self._time > startDelay) { - if (self._time - (self.duration + startDelay) > dt) { + const timeLeft = self._time - (self.duration + startDelay); + if (timeLeft > dt) { // self._time = startDelay; // delay will not be applied from the second loop.(Unity) // self._emitRateTimeCounter = 0.0; // self._emitRateDistanceCounter = 0.0; @@ -1478,8 +1479,10 @@ export class ParticleSystem extends ModelRenderer { } // bursts - for (const burst of self.bursts) { - burst.update(self, dt); + if (timeLeft <= 0) { + for (const burst of self.bursts) { + burst.update(self, dt); + } } } } From bb7009aa7d5ed2e2a07d58e1162af7a9550402b2 Mon Sep 17 00:00:00 2001 From: "zhefeng.zhang" <35944775+zhefengzhang@users.noreply.github.com> Date: Tue, 28 Oct 2025 12:17:52 +0800 Subject: [PATCH 3/3] Update particle-system.ts --- cocos/particle/particle-system.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cocos/particle/particle-system.ts b/cocos/particle/particle-system.ts index 661533d7a14..18469e5f76e 100644 --- a/cocos/particle/particle-system.ts +++ b/cocos/particle/particle-system.ts @@ -1479,7 +1479,7 @@ export class ParticleSystem extends ModelRenderer { } // bursts - if (timeLeft <= 0) { + if (timeLeft <= 0 || self.loop) { for (const burst of self.bursts) { burst.update(self, dt); }