Having problems with Niagara Ray Traced colliding particles. What's a good way to implement particles that fall from a moving pawn then collide with a curved ground?

The goal I’m trying to achieve is to have some small particles falling from a moving character, that fall then bounce a little on the ground. I started learning about Niagara to do this.

To cut straight to the question:

a) Should I be using Niagara to achieve my simple goal (of particles falling then bouncing off a curved ground)?

b) If yes, how? Even this basic test looks unusably inaccurate. (Should I perhaps forget about collision and just fake it?)

c) If no, what’s a better approach I should look into?

Problem Details:

Here’s a really basic example of particles spawning, falling, and bouncing off a spherical ground (pawn is moving left):

But here’s the problem I’m getting:

Semi-randomly, the green mesh particles start spawning higher and higher. They’ll linger up there for a few seconds, sometimes even angling off in another direction. It occurs more the faster the pawn moves, and occurs more the closer it is to the ground. Clearly it’s connected to collision, and the problem goes away if I simply disable collision in the particles, or even if I use a flat ground.

But it can also occur for seconds at a time when the pawn is stationary, with a very clear space between it and the ground. Not to mention that the particles cannot spawn closer than a full metre to the ground, due to how I’ve set up this test.

Test Setup:

For a basic test, I:

  • … made a Particle System with an empty Emitter, and gave it Mesh Renderer, Spawn Rate, Gravity Force, and Collision. I set the mesh to a default sphere, set Spawn Rate to 100, and in Initialize Particle I set Lifetime to 5 seconds and Mesh Uniform Scale to 0.1. Everything else is left with default settings.
  • … created a Pawn (“BP_Flyer”) with some basic motion.
  • … put a default Sphere in the level and scaled it up by 100, to act as the curved ground.


To be exceedingly generous with distances, the Pawn’s centre is always at least 50cm above the sphere’s surface (I didn’t connect a control to move it any lower). Then the Emitter’s position is another 50cm above that.

I set the sphere’s collision to block only to the channel that the colliding particles are tracing with (WorldDynamic). Everything else that could produce collision (ie, the meshes in the pawn) has had its collision disabled.

Any suggestions for either defeating this issue with Niagara, or doing things a better way altogether?

I reproduced the issue inside the Content Examples project, using the CPUSim Particle System already made in that project; the one that already has collision on its particles (and can be seen colliding with walls in the example project, but it’s not on a moving Actor while doing so).

So I again made my own pawn with basic movement, and put a giant sphere beneath it. I checked that collision channels were as needed, and attached a copy of the project’s example Niagara System (mentioned above) to my pawn. In that copy, I disabled Velocity in Cone and Sphere Location, and increased Spawn Rate to 100.

Pressed play and started flying around.

Same problem. (Blue cone-pawn is moving left in this image.) Once again, this happens despite the emitter being a whopping 500cm+ above the sphere. Happens in Simulate mode too, and a shipped package.

Conveniently and unexpectedly, it just so happens that the example project’s system turns the particles green upon collision. So it confirms what was already pretty obvious: For the particles whose point of emission appears to ascend, it thinks they have already collided.

It seems that when using collision particles, having a moving emitter + a non-flat collision surface just isn’t (even remotely) accurate enough to really use.