Procházet zdrojové kódy

Merge pull request #26859 from JFonS/fix_cpuparticles_resetting

Fix resetting of CPUParticles (2D and 3D)
Rémi Verschelde před 6 roky
rodič
revize
7052ddd706
2 změnil soubory, kde provedl 6 přidání a 6 odebrání
  1. 3 3
      scene/2d/cpu_particles_2d.cpp
  2. 3 3
      scene/3d/cpu_particles.cpp

+ 3 - 3
scene/2d/cpu_particles_2d.cpp

@@ -574,7 +574,7 @@ void CPUParticles2D::_particles_process(float p_delta) {
 			if (restart_time >= prev_time && restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 
@@ -582,13 +582,13 @@ void CPUParticles2D::_particles_process(float p_delta) {
 			if (restart_time >= prev_time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (lifetime - restart_time + time) * lifetime;
+					local_delta = lifetime - restart_time + time;
 				}
 
 			} else if (restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 		}

+ 3 - 3
scene/3d/cpu_particles.cpp

@@ -544,7 +544,7 @@ void CPUParticles::_particles_process(float p_delta) {
 			if (restart_time >= prev_time && restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 
@@ -552,13 +552,13 @@ void CPUParticles::_particles_process(float p_delta) {
 			if (restart_time >= prev_time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (1.0 - restart_time + time) * lifetime;
+					local_delta = lifetime - restart_time + time;
 				}
 
 			} else if (restart_time < time) {
 				restart = true;
 				if (fractional_delta) {
-					local_delta = (time - restart_time) * lifetime;
+					local_delta = time - restart_time;
 				}
 			}
 		}