diff options
Diffstat (limited to 'scene')
-rw-r--r-- | scene/2d/gpu_particles_2d.cpp | 5 | ||||
-rw-r--r-- | scene/3d/gpu_particles_3d.cpp | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/scene/2d/gpu_particles_2d.cpp b/scene/2d/gpu_particles_2d.cpp index 3f887ae9f3..08c7b8e131 100644 --- a/scene/2d/gpu_particles_2d.cpp +++ b/scene/2d/gpu_particles_2d.cpp @@ -538,6 +538,11 @@ void GPUParticles2D::_notification(int p_what) { if (sub_emitter != NodePath()) { _attach_sub_emitter(); } + if (can_process()) { + RS::get_singleton()->particles_set_speed_scale(particles, speed_scale); + } else { + RS::get_singleton()->particles_set_speed_scale(particles, 0); + } } break; case NOTIFICATION_EXIT_TREE: { diff --git a/scene/3d/gpu_particles_3d.cpp b/scene/3d/gpu_particles_3d.cpp index 8eb1820cf8..b4131ff4b2 100644 --- a/scene/3d/gpu_particles_3d.cpp +++ b/scene/3d/gpu_particles_3d.cpp @@ -439,6 +439,11 @@ void GPUParticles3D::_notification(int p_what) { if (sub_emitter != NodePath()) { _attach_sub_emitter(); } + if (can_process()) { + RS::get_singleton()->particles_set_speed_scale(particles, speed_scale); + } else { + RS::get_singleton()->particles_set_speed_scale(particles, 0); + } } break; case NOTIFICATION_EXIT_TREE: { |