godot icon indicating copy to clipboard operation
godot copied to clipboard

GPUParticles2D emit_particle() displays at previous location

Open anaanook opened this issue 6 days ago • 1 comments

Tested versions

Tested in in 4.3-stable and 4.4 beta 4

System information

Godot v4.4.beta4 - Windows 11 (build 22631) - Multi-window, 1 monitor - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 4090 Laptop GPU (NVIDIA; 32.0.15.6094) - Intel(R) Core(TM) i9-14900HX (32 threads)

Issue description

When using emit_particle() with EMIT_FLAG_POSITION , sometimes the particle emitted appears for a frame in the location of the last spawned particle. It happens extremely infrequently at higher values for fixed_FPS but can be seen consistently at low values.

Here's a video of the problem:

https://github.com/user-attachments/assets/36bee3f7-8856-41d0-92de-a3457687431c

Observe how the particles emitted by the lower FPS emitter appear to pop from the previous position to the emitted position. This behavior can also be observed at higher frame rate emitters, it's just far less frequent.

Steps to reproduce

  • Create a GPUParticles2D
  • Set fixed_fps to 10
  • Set particle lifetime to 0.1s
  • Set emitting to false
  • in a new script, use emit_particle() to create particles
  • make sure there is sufficient delay between emissions (0.5s)
  • emit particles at a new position each time
  • observe snapping behavior

Minimal reproduction project (MRP)

MRP: gpu_particles2d_issue_2025-02-22_12-02-43.zip

anaanook avatar Feb 22 '25 21:02 anaanook