diff --git a/scene/3d/gpu_particles_3d.cpp b/scene/3d/gpu_particles_3d.cpp index 2b748e88b5..f5203ee594 100644 --- a/scene/3d/gpu_particles_3d.cpp +++ b/scene/3d/gpu_particles_3d.cpp @@ -92,7 +92,11 @@ void GPUParticles3D::set_one_shot(bool p_one_shot) { if (is_emitting()) { if (!one_shot) { - restart(); + if (!use_fixed_seed) { + set_seed(Math::rand()); + } + + RenderingServer::get_singleton()->particles_restart(particles); } } }