High Performance Raycast Rain

What is it?

A simple rain script i made, its client sided and uses multithreading. Ive made the script as optimized as I could. Each rain drop is its own raycast and the script has rain sounds for outside and inside.


How Good Is The Performance?

The performance is really good with almost no frame drops.
PC Performance Test
  • GPU: GTX 1660 Super
  • CPU: Intel i5-10400F
  • Ram: 16GB, 2667MT/s
  • Averages Max FPS, Little to no drops (FPS Capped At 240)
Mobile Performance Test
  • Tested On Iphone 14 Pro
  • Averages Max FPS, Little to no drops (Mobile Locked At 60 FPS)

Preview


Get Here

Rain Script - Creator Store

78 Likes

Would you mind turning this into a module? It would be lovely to Enable it and Disable it anytime i want in-game. I really do need a new rain system for my weather system… With this being said… If you do turn it into a module in the future could you also add a :SetIntensity(intensity: number) function to it? The higher the number would be, the more droplets there would be and the other way around.

2 Likes

yeah, ill be releasing an update soon with some more customization features and ill most likely make it into a module aswell

2 Likes

A great feature to add would be a :SetDirection() function that allows the rain to fall in a specified direction. Right now, it only supports vertical downward motion. I’m not sure if that’s achievable with ParticleEmitters, but it’s definitely possible with Beams. Adjusting the Rotation property of the “Trail” ParticleEmitter might also work, who knows!

1 Like

Glad this is getting more attention! good luck!

2 Likes

Hi, did you play with it to see if the direction of the rain could be changed? like not straight down, but at an angle?

Thanks

Not really. But it is technically possible using the Rotation property of the particleemitter.

I have turned it into a module though and implemented some useful features…

4 Likes

This is entirely unusable in a real project due to it using up over 300+ draw calls on just the rain in a baseplate

This can cause many performance issues on large maps, and I hope you can address this problem in future updates

1 Like

ill see what i can do when i get the next update out

2 Likes

whatever became of this? i really like the system but the performance is pretty poor due to the amount of draw calls

one major suggestion i have, and which i did myself, was to ditch attachments and instead use invisible parts with no shadows or collisions or anything (there is prob a better method).

attachments are pretty bad since each one is a unique call (100 attachments = 100 calls) so using parts that are identical will share calls (100 parts of shared data = 1 call) leading to FAR less calls and like a 20 fps boost

1 Like

final correction it was like an 40 fps boost*

i did a small update to improve the performance


(same settings)

sorry there hasnt been an update, ive been really busy with things

1 Like

ur telling me parts are more performant? no way no way no way

This is a great look, I’ll be sure to test it out! Thank you for your hard work.

is creating a new CFrame every frame good🥀
vector3 user too :broken_heart::broken_heart::broken_heart::broken_heart:

LMAO I DIDNT SEE THE DEFINED LOLLL WHAT WERE U ON

NAHHHHH NUMBER VALUES???

can you modify the latest release and share your updated .rbxl with your performance tips ?

That would be super…

im sorry you arent satisfied ill be sure to swapout the number values next update so that your pc can handle the extra 0.000001 performance cost it takes to withhold it
flight-sad

6 Likes

So i tested it out and why does the rain move up??

Also how do i increase the rain intensity