UE4 GPU particles not showing me what I am expecting to see

I added some GPU particles to my UE4 cascade system. As you can see from the screen grab they radiate out in a nice uniform direction and there are 1000’s of them. But when I play them in the level I only see a few of them and they just shoot out in one direction. Does anyone know why I am not seeing what I am expecting to see?

Could it be that my graphics card or my UE4 preferences are limiting the amount of GPU particles playing back?
But then if this was true then why is it showing me what I expect to see in Cascade interface?

are you using collision on those? if so, they could be colliding with the car

Thats it! Thanks.
So how can I make them not collide with the car, yet collide with everything else ?

you really can’t since gpu particles collide with the scene depth. what you could try is to have them spawn outside of the collision geometry - but that may or may not work depending on the look you are going for.

not sure if they can pass through backfaces though, so having them spawn inside the car instead of under might work.

1 Like

Yep, I just increased the radius of the sphere they were emitting from and that worked much better. Now I have to reduce the amount of particles by 90% because now I have way to many. Thanks Sebastian :slight_smile:

Since im more experienced with Unity . does it possible to use Layers in UE4 aswell , in that manner of controling collisions ?

for CPU collisions you can choose which collision channel(s) to collide with and create your own custom ones if you need to, but that doesn’t work for GPU collisions since they use the depth buffer.

You can use Distance Fields for GPU particle collision too:

They appear to be way more accurate and not as prone to the problems I’ve seen with depth buffer collision (like particles only being able to collide with what’s visible on screen). I’m not sure if you can exclude objects from the distance field, or what issues that might bring up. (Edit: Actually it seems like you can in the mesh editor -> build settings by setting the Distance Field Resolution Scale to 0)

You have to enable distance fields under Project Settings -> Rendering -> Lighting:

Then switch the collision module on your GPU particles to Distance Field:

~Mike D.

2 Likes

Thank you guys, that depth information really helped me to understand!