Is there a way to trigger an event when a particle hits something?

Hi, I made a particle system that emits a single circle growing from the center to a fixed size of 500 units then disapear after a second or so. I’ve put this particle system into a blueprint and wanted to know if there was a way to trigger an event in the blueprint whenever the particle hits something… Do you guys know any way to achieve this?

221048-sans-titre.png

You need add collision module to particle, and then in blueprint add OnParticleCollide Event

221193-1.png

Thanks for the help but I tried it and it still doesn’t work… am I doing something wrong? I tried tweaking the Actor Collision module and was wondering: do I need to do something with the event generator module? I’m really finding it difficult to work with cascade lol

In this case, the event generator is not needed, it is enough adding collision module. Try to test whether you have collisions on particle - for test set kill of particles instead halt. And try add “world static” to collision types in particle.

I tried it and collision seems to work because particles disappear when hitting something. However, in the blueprint, I tried printing a Hello for each of these events: OnParticleCollide, OnParticleBurst and OnParticleDeath and nothing seems to happen. I also tried setting my particle system as the root component of my BP and still nothing…

Just in case anyone encounters this thread in the future. These are the steps to make the OnParticleCollide Event work inside your Blueprint.

Blueprint:

  • Add a ParticleSystemComponent to it (Method1) or Spawn an Emitter via Blueprint (Method2)

  • Method1: Select your ParticleSystemComponent and click on the ‘+’ on the OnParticleCollide Event

  • Method2: Drag your spawned ‘Emitter’ noodle out and go on ‘Bind Event to OnParticleCollide’. Drag out the ‘Event’ noodle and go on ‘Create Custom Event’

  • Do whatever you want to do after either the OnParticleCollide Event (Method1) or your CustomEvent (Method2). You can get the location of the collision, the normal etc. In this example I’m spawning a Decal at the collision location.

Particle System:

  • Add ‘Actor Collision’ module to the emitter
  • Use the following collision settings:

  • Add EventGenerator (is definitely needed!). Add Event to EventGenerator, Type → Collision.

Now play the game and get Blueprint Events from particle collision :slight_smile:

4 Likes