Browse Source

Merge pull request #101688 from TCROC/fix-gpu-particles-2d-set_one_shot-seed-randomization

Fix `gpu_particles_2d` not randomizing seed when `set_one_shot` is called
Thaddeus Crews 8 months ago
parent
commit
b15b24b087
2 changed files with 2 additions and 4 deletions
  1. 2 0
      scene/2d/gpu_particles_2d.cpp
  2. 0 4
      scene/3d/gpu_particles_3d.cpp

+ 2 - 0
scene/2d/gpu_particles_2d.cpp

@@ -912,6 +912,8 @@ GPUParticles2D::GPUParticles2D() {
 	one_shot = false; // Needed so that set_emitting doesn't access uninitialized values
 	one_shot = false; // Needed so that set_emitting doesn't access uninitialized values
 	set_emitting(true);
 	set_emitting(true);
 	set_one_shot(false);
 	set_one_shot(false);
+	set_use_fixed_seed(false);
+	set_seed(0);
 	set_amount(8);
 	set_amount(8);
 	set_amount_ratio(1.0);
 	set_amount_ratio(1.0);
 	set_lifetime(1);
 	set_lifetime(1);

+ 0 - 4
scene/3d/gpu_particles_3d.cpp

@@ -92,10 +92,6 @@ void GPUParticles3D::set_one_shot(bool p_one_shot) {
 
 
 	if (is_emitting()) {
 	if (is_emitting()) {
 		if (!one_shot) {
 		if (!one_shot) {
-			if (!use_fixed_seed) {
-				set_seed(Math::rand());
-			}
-
 			RenderingServer::get_singleton()->particles_restart(particles);
 			RenderingServer::get_singleton()->particles_restart(particles);
 		}
 		}
 	}
 	}