Interactions with particles

Hey guys,

I’m doing a graduation work on interaction with particles, eg. player walking through leafs that lay on the ground, or fog that a player walks through.

Now I’ve done a bit of research and vector fields are most likely to be the best option, but do you guys think of any other options that might be viable?

I’ve also seen that GDC had a talk about “advanced particle interactions in UE4” by Hugo Nedelec.
If people have any notes on this and are willing to share, it would be much appreciated.


Hi Felix,
I believe the presentation by Hugo was about popcornFx In UE4, with the Spatial layers (that lets your particles interact with each other or with other ) you can have various interactions with the player / environment / camera / etc…
There’s already a simple example about spatial layers that was used on the Abstract Fire , you can also download the PopcornFx Editor and check out the other examples

Ah I’ll have a look in that :). I might also take a look at nvidia flex/flow to be able to manipulate things.


so the small talk on the booth (sorry for the bad video quality btw, we’ll improve on that part over the time) was covering three features that we thought were powerful to showcase:

  • TwoWay collisions which are a collision mode that allow particles to “repulse/push” rigid bodies in UE4 that have physic simulation enabled based on the particle mass
  • Event listeners, a way to trigger blueprint callbacks when a particle “broadcasts” an event, and inside this triggered blueprint callback you can query particle fields like its size,color or whatever
  • Skinned mesh sampling, that allow you to sample data on a animated mesh (vertex color, normal, tangent, uv, position, and surface velocity). You can use that data to affect the particle behavior or spawn method

And finally, like Abdel explained the feature which we call “spatial layers” is a feature that basically allow particles to interact with each other by querying some data.

For example in the image below each sphere and cylinder contains at its center an invisible particle that is inserted inside an “Obstacle” spatial layer, and the cascade particles query this spatial layer asking “is there an obstacle particle in the obstacle’s radius ? if so yeah so die”
Same method used for the two characters were those invisible particles are attached on several bones

Hope this helps :slight_smile:


Ah this looks very interesting as well, I’ve also seen something with the intersect on the popcorn fx youtube (looks simular as you use the data)
Right now I’m just doing some research though on what is possible and how to do this. Thanks a lot, I’ll also send this to my peer!

You are welcome,

if you want to see in realtime what spatial layers allow you to do, you can download a (free) demo about the UE4 plugin for PopcornFX: Unreal plugin integration - Play PopcornFX effects in UnrealEngine! you can search for “Download UE4 PopcornFX Examples Project”. the first level allow you to shoot butterfly and have interactions with the world and between them, attract them towards a ball etc


Having tried to use both cascade and pfx for this kind of work I absolutely recommend that you use PFX. Cascade is just not flexible enough to give you what you need.

I’ll definitely will take a closer look at PFX and it’s never bad to learn another program / code.
I’ll see what gives the best results and what is attainable. Right now I’m still looking at PFX and nvidia tech. But I have a feeling that nvidia will be more dev savy …

1 Like