I have a gpu particle system that shots particles at the world all the time, at some point any particles shot won’t collide with the world anymore. So it is basically corrupted and I have to spawn a new particle system to make it work again.
The particle system gets moved constantly in front of a raytraced position and has also velocity.
I could not figure what it is related to it since it happens not after anything in particular but it might be connected to a collision mesh disappearing on which the particles are currently shot at or the particle system got moved too far away for too long that it breaks some time after it I have all the LOD settings turned off.
Hi Davision -
GPU Particle Collision is determined by Scene Depth as seen through Player Camera. So if you are moving the camera and adjusting the scene depth calculation such that the GPU Particles will no longer collide. If you feel that your scene depth is not changing let me know and post a screenshot and I will look further into the issue.
That can’t be it because any collision just doesn’t work anymore. Any new emitted particle doesn’t react to any collision anymore.
The particle system gets positioned in front of where the crosshair raytraces. So it shoots the particles there at the collision. It does that all the time, so where the crosshair is are particles colliding with the world.
Here you can see the particles suddenly going straight through that floor. They look smaller there because they scale up over time.
Made more tests and I’m sure now that it happens always some seconds after I had some destruction going on. So a destructible fell apart and its pieces disappeared on which also the GPU particles were shot on. Maybe that breaks the whole particles scene depth somehow. That destructible uses Debris Timeout, here are the settings:
Maybe that bug occurs with any destructible though or maybe even with any collision being deleted under GPU particles.
This may be a known issue with Destructibles. I am working with Tim Hobson to try to test this out. We will let you know as soon as we finish running the tests.
I found the exact thing that is responsible for the bug now! It is so simple and it took me like 2 days to find it. Really easy to recreate:
- Make a new BP (actor)
- Add a arrow component
- Set Hidden In Game of the arrow to false
- Place the BP in your level
- Now any GPU particles collision will not work anymore
I used a BP with arrows in it as a position dummy, that simply shows me a position in game for debug purposes and that was connected with the destruction.
Please test then also if any other component break the GPU particles when set to Hidden In Game false.
Hi Davision -
Great catch! That indeed does occur. It seems currently limited to the arrow component currently through we are still running tests. I have entered the bug as UE-14658 and will keep you informed as we work toward a fix.