Particle collision

  1. What do you want to achieve?
    I want to know how can I do particle collision !
  2. What is the issue?
    The rain I created passes through the walls !
  3. What solutions have you tried so far?
    I searched for a long time and I found a lot of things but unfortunately I did not understand…
1 Like

This video might be what you’re looking for. Take a look at the plugins’ scripting. You have to make particles through locally generated imagelabels in SurfaceGUI’s in workspace (as far as I am aware)
That way you can maybe raycast in the direction the rain is going, and delete them if they hit whatever object you want them to hit to get deleted (the ground, roofs, parts in general)


Thank you very much ! :grin:
But I have already tried that and I find the result quite ugly to tell the truth … :sweat_smile:

1 Like

Don’t look at the rain itself, use the plugin, make it paste the rain into your game, and then go through all the scripts, and try to read & learn about how the rain has been scripted? :smiley:

1 Like

ok i will try it but I’ve already try it and there is no collision … :neutral_face:

I can tell you for sure that there is a scripted collision somewhere, that’s why it works.

It’s not as simple as “ticking” a boolValue.

You could maybe make a new colissiongroup? and make so if the Rain touches parts that are a part of that Colissiongroup, then remove the rain particle? :smiley:

1 Like

Thank you so much ! :yum:
I must have been very wrong when I tried because it works perfectly now I made some adjustments and then there you go ! :laughing:

Lovely! have a nice day! And keep on scripting!

I’m sure this can be done without scripting if you place parts in the sky at the right height, so that the particles timeout/disappear when they hit the ground or any building.

Tune your particle emitter so that the raindrops fall 100 studs, then place them 100 studs above the ground.
Above a roof or other sloped surface, you might duplicate the roof/slope, place it 100 studs higher and make it a particle emitter.

You’d also have to account for the surface area of the emitter and increase/decrease rate so that every area gets particles evenly.

An automated approach to this would raycast over the entire world and adjust the emitters so that they end at the ground.

The downside to this is that you can’t have accurate rain splashes on the ground (though you can just put rain splash emitters everywhere) and it might be subject to throttling for performance (because these rain particles will be falling everywhere), whereas the scripted rain knows where it falls, is guaranteed to show up and might be more performant if its particles are only created near you.
edit: it’s also easier to adjust with the wind

This is not reliable with roofs or parts in multiple heights.

Go with scripting for this one, since the goal is to make particles not go through surfaces like roofs. :slight_smile: This way, you can also have rain all over your game, without fiddeling around with multiple particleEmitters.