Particle collision not working in-game

I have a CPU-based particle system in which I’ve set up collision. When previewing the system within the Editor, the collision works fine. The particles react to hitting the floor.

I want to be able to trigger sounds off the hit events so have set up a OnParticleCollide event in the level blueprint. However, the collision doesn’t work when I either Play or Simulate the game. The particles just fall through the floor.

Is this a bug? Or can anyone offer any suggestions as to how I can get a collision event off the particles in game?

Thanks

If I use GPU for the particles then they do react to colliding with the floor, but the OnParticleCollide event in the level blueprint doesn’t work.

Hey teed -

This is a known issue with Particles which are referenced or created through blueprints. We are investigating this issue now, for reference UE-5011. I will let you know when I have any further information.

Thank You

Eric Ketchum

Hi Eric,
I’m not creating the particle system through a blueprint. It’s a Particle System actor that is placed within the level. The collision issue occurs even without me trying to reference the particle collision in the level blueprint - you can see it happening (the particles ‘freeze’ when viewed in the editor with Real Time enabled, but they fall through the floor when the game is either played or simulated).

Hey teed -

Hmm, in that case take a look at the object the particles are colliding with does it change in any way from the games Event Begin Play forward? If so you may not have the correct collision type set up in your Particle’s Collision module.

I may need to see your details panel for the collision module if this does not fix it for you.

Thank You

Eric Ketchum

EDIT: A thought if it is a Mesh Type Emitter does your Static Mesh have collision applied to it?

1 Like

This is known issue, It is sad no one wants to respond for my posts:

No I just tested in 4.6.0, as long as a mesh as a collision volume associated with it, particle mesh collision will work:

1 Like

Hi Eric,
The particles are the basic CPU particle emitters (ie. no Type Data). They have Collision set up and are set to collide with WorldStatic and Freeze on collision.
The object the particles are colliding with is the ‘Shape_Cube’ static mesh that comes with the engine. This has collision setup and is set to BlockAll. There is no BP associated with the actor and it is set to ‘Static’ in the Details pane.

When you enable ‘Real Time’ in the Editor, you can see the particles collide with the cube mesh and freeze, but when you Play or Simulate, they just fall straight through.

Hey teed -

Are you using the Engine on a Mac?

Thank You

Eric Ketchum

Nope, on a PC running Win7

Ok, can you let me know what version of the engine you are using and whether it is a binary or Compiled?

Thank You

Eric Ketchum

I’m using 4.6 - not really sure what you mean by ‘binary or compiled’ so I guess it’s probably binary (installed through the Unreal Engine Launcher)

Hey teed -

Although I have not experienced the lack of collision as a whole that you are experiencing, however, I have found an issue with the OnParticleEvents not firing in Level Blueprint and have entered this issue as UE-6744. I will keep you informed as we work toward a solution.

Also for tracking I am moving your post over to Bug Reports.

Thank You

Eric Ketchum

Hey teed -

I am still looking into your collision issue, can you upload a copy of your DXDIAG

Thank You

Eric Ketchum

Hi Eric,
Where do I find the DXDIAG?

Enter “dxdiag” in your Start menu, it will start a Windows tool that generates that file.

Thanks!
Here’s the DXDIAG.txt filelink text

To confirm teed’s issue, I am experiencing the same problem with a CPU based particle system that is placed in the level as an actor (I have also attached it via a component in my character blueprint). You can see clearly see collisions live in the editor, but once in game, the collisions are passing right through the objects that have the assigned collision type.

In my example, I set the Collision Completion Option to Freeze Translation.
I have also added all possible Collision types (world static/dynamic, pawn etc) to see if it was a problem with a certain type of actor collision setting. In the editor, the collisions occur and the particles are accumulating from their collisions with the terrain. Though, after entering game to test it out, the particles do not react as they do in the editor.

I am experiencing this in 4.6.1. Also to note, level blueprints are not used in my test.

Hey bparillo -

There is a known issue with CPU particles keeping collision when used via a blueprint of any type. If you could however please try placing the particle system in a Blank Project with no starter content and see if collision works as a plain actor in the level. Afterwards then bring in the Blueprint with the Particle attached and place the BP in the level and see if collision for both stays or stops.

If possible upload your project files here for testing in house.

Thank You

Eric Ketchum

I just want to add that as of 1/25/2015, this issue is still here.

I have a shell ejection emitter that is called by an anim notify on my weapon firing animation (basically spawned real-time). This will not collide with anything. It is a mesh emitter and set up properly as I’ve done these dozens of times in UDK.

When dragging the particle system directly to the editor, they do collide as intended. On simulate or playing in the editor window or a separate window or as a standalone game (basically ANY style of testing), those same particles absolutely will not collide with anything.

If this isn’t fixed in 4.7, I’m just gonna spawn these badboys as actors.

Win 7 64bit UE4.6.1