godotengine / godotengine/godot
`GPUParticlesCollisionSDF3D` does not seem to have any visible effect on particles
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
v4.2.2.stable.mono.official [15073afe3]
### System information
Godot v4.2.2.stable.mono - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4080 (NVIDIA; 32.0.15.5599) - AMD Ryzen 9 7950X3D 16-Core Processor (32 Threads)
### Issue description
I have two identical particle systems. Both are set up to have collision mode rigid. Both particle systems are above a cube with which they are supposed to collide. The left particle system interacts with a `GPUParticlesCollisionBox3D` which shows some tunneling issues as identified in https://github.com/godotengine/godot/issues/93570. The right particle system is supposed to interact with a `GPUParticlesCollisionSDF3D`. This is set up to calculate an SDF for a box with the same extents as the `GPUParticlesCollisionBox3D` on the left side. However, no matter which resolution is baked, the particles just go right through the `GPUParticlesCollisionBox3D`. This problem persists even if I double the thickness of the geometry. Also the AABB is set up correctly so it's not an instance of https://github.com/godotengine/godot/issues/93567 :
https://github.com/godotengine/godot/assets/327257/ce0be673-e66b-41e5-8e55-73129812e8ad
### Steps to reproduce
In the attached reproducer project, open `particle_collisions_test3.tscn` to inspect and play around with the setup.
### Minimal reproduction project (MRP)
[reproducer3.zip](https://github.com/user-attachments/files/15961444/reproducer3.zip)
Contributor guide
Research direction
Open the attached reproducer project and inspect particle_collisions_test3.tscn, then run the two particle systems described in the issue. Compare the GPUParticlesCollisionSDF3D setup with the GPUParticlesCollisionBox3D setup across the stated SDF resolutions and geometry thicknesses; done means the SDF collision visibly affects the particles as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100