Skip to content

GPU Particles 3D dies if their "Scale Curve" stays in zero for too long #83699

Description

@WagnerGFX

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.

Scale Curve

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

GPUParticle3D Scale Curve Zero.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions