How can distance fields influence particle collisions?

Hi Answerhub,

I recently came across a couple of videos showcasing how distance fields can be used for full scene GPU particle collisions.

I’ve seen how distance fields can create dynamic AO and soft shadows (which can be enabled by checking a few check boxes.from what I understand) but I’m really confused about what distance fields actually are and, more specifically, how to implement them in a way that somehow influences GPU particle collisions.

Distance fields seem like a very powerful concept/tool, but I’m having some trouble wrapping my head around them, so any insight would be hugely appreciated. Thanks.

Hi PixelOmen,

You’ll want to start by taking a look at the documentation for DFAO and Distance Field Shadows.

The DFAO page will cover move so about how the system works and how the Distance Field Meshes are generated.

Distance fields can be used for a number of things are not limited to just shadow or ambient occlusion support.

By using the generated mesh for the distance field this can be used as a collision base for the particle system, as demonstrated in the videos linked above.

If you find you still have questions after reading through the documentation please let me know. I’m more than happy to help. :slight_smile:


Hi Tim, yes I’ve seen both of those docs, what I’m unclear about is how to access the distance fields directly, for example in particle system collisions.

In DFAO and shadwos, distance fields are simply enabled and more or less work automatically, is it a similar process for particle collisions?

This has actually only recently been introduced. It should be in 4.9.

It’s such a new implementation there isn’t a lot of documentation aside from an internal email at the moment.

To enable the collision of the distance fields mesh for your particles though you should have a drop down in the collision module of the particle system where you can now select “Distance Field” as the collision mode.

There will be more information and documentation coming, but no specific ETA.

Oh I see. I thought it was simply another use for the feature as it currently exists. That makes more sense. Thanks for the info.

We actually just posted the latest Engine Weekly News that has this detailed a little bit more along with some other cool stuff coming to the engine.

All this information is taken from the internal email I had previously mentioned.