GPU Particles 3D dies if their "Scale Curve" stays in zero for too long
Godot version
v4.1.2.stable; v4.2.beta2
System information
Godot v4.2.beta2 - Windows 10.0.19045 - Vulkan (Forward+, Mobile) - GLES3 (Compatibility) - dedicated NVIDIA GeForce GTX 1650 (NVIDIA; 31.0.15.3742) - Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (8 Threads)
Issue description
3D particles with a scale curve that stays in zero for a period of time will die silently.
- The period seems to be around 0.05+ of the normalized curve time.
- Those particles disappear and don't emit sub-particles.
- 2D particles don't have the same issue.
The workaround is to use small values, like 0.001, instead of absolute zero.
Steps to reproduce
The reproduction project has a "main_3d" scene that shows the issue, even in the editor. There is also a "main_2d" scene to show that 2D particles work fine using the same curve.
Minimal reproduction project
- Related to https://github.com/godotengine/godot/issues/68809.
Tested in v4.3-stable and v4.4-dev6. The issue is still the same.