diff --git a/scene/3d/gpu_particles_3d.cpp b/scene/3d/gpu_particles_3d.cpp index 3efc9b2d5ec..96301d20f68 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); } } }