You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a basic GPUParticle2D node colliding with a LightOccluder2D. It has collisions mode set as Rigid and a Bounce of 0.6. While it works without the Camera being rotated, it seems to break when the Camera rotates. The particles offset after it collides with the Light Occluder, and it ONLY happens when the Camera2D node is rotated. This issue occurs regardless of Bounce or Friction being greater than 0. It always occurs when collisions mode is set as Rigid. No other option seems to cause the issue. I have checked the project in Mobile and Forward+ as well and the issue persists.
The scale of the particles also doesn't change the outcome nor does the rotation. Use Scale is turned on, but turning it off doesn't solve the issue either. Local Coords option on the Particle node is off so I don't think that is the issue, and the GPUParticles2D node is not the parent of the Camera2D node so I don't think it's an issue with SceneTree order either. Fixed FPS is set to 0 in this example, but setting it to the default value of 30 doesn't solve the issue, nor does setting it to a higher value. This appears to be an issue with how physics is calculated on Particle instances.
Steps to reproduce
Create a new project and make a new scene.
Add a LightOccluder2D to your scene.
Add a GPUParticles2D and set collision mode to Rigid.
Add a Camera2D, rotate the node, then turn Ignore Rotation off.
I think I ran into the same problem. With the help of a test particle shader, I was able to make the problem a little clearer.
When the particles collide, I set their speed to 0 and increase their lifetime slightly.
In the video you can see how the particles stick to the obstacles.
After I rotated the camera a little, the particles suddenly stick to invisible obstacles.
Based on the shape and position, I would say that the camera angle has been doubled during the particle collision. (I have of course also tried other angles).
Tested versions
System information
Windows 11 - Godot v4.2.1 - Compatibility Renderer - Intel UHD Graphics 630
Issue description
This is a basic
GPUParticle2D
node colliding with aLightOccluder2D
. It has collisions mode set asRigid
and aBounce
of 0.6. While it works without the Camera being rotated, it seems to break when the Camera rotates. The particles offset after it collides with the Light Occluder, and it ONLY happens when the Camera2D node is rotated. This issue occurs regardless ofBounce
orFriction
being greater than 0. It always occurs when collisions mode is set asRigid
. No other option seems to cause the issue. I have checked the project in Mobile and Forward+ as well and the issue persists.The scale of the particles also doesn't change the outcome nor does the rotation.
Use Scale
is turned on, but turning it off doesn't solve the issue either.Local Coords
option on the Particle node is off so I don't think that is the issue, and theGPUParticles2D
node is not the parent of theCamera2D
node so I don't think it's an issue with SceneTree order either.Fixed FPS
is set to 0 in this example, but setting it to the default value of 30 doesn't solve the issue, nor does setting it to a higher value. This appears to be an issue with how physics is calculated on Particle instances.Steps to reproduce
Rigid
.Ignore Rotation
off.Minimal reproduction project (MRP)
GodotParticles2DCollisionsBug.zip
The text was updated successfully, but these errors were encountered: