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)
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.
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!