Rain Module + Plugin

The module exposes an API that lets you set rain direction. You need to manually get some output from your wind module and convert that to a rain direction and call this module with that.

I’m not going to provide integration with [whatever other module] for you, you’ll have to make the integration happen or find someone who made such integration.

3 Likes

I love this plugin and I’ve been trying to use it with snow instead of rain but the particles are far too big and I would really love to see a size property added! :grin:

This is intended for fast-falling precipitation that comes down in sheets (many raindrops per particle, otherwise it is too expensive to render). It probably won’t work well for snow for that reason, it will fall much too regularly and appear very sparse. I recommend looking for another module for that.

2 Likes

Hi! Did you miss me? Probably not, but I got another issue. I’m not sure if this is due to a Roblox engine change, but ever since the CanQuery property was put into effect, this module no longer listens to Transparent parts. If there is a transparent part, the rain will simply ignore it and just land on it anyways when it should fall through.

Unless I’m mistaken, it should allow the rain to pass through the transparent part if it’s fully transparent.

I’ve tried enabling the “Parts must be Non-Transparent” thing for the collision settings, which in my eyes means “It must be visible for the rain to collide with the part”, but that gets ignored anyways.

If I enable that setting without play testing or playing the real game, it works just fine, but when I play test the rain decides to collide with the part in the sky anyways.

I have a part in the sky that drops Candies in random spots in the map. It does use raycasts, but I don’t think that would cause any issue with this in specific (feel free to correct me if I’m wrong). It’s mainly used to check elevation on slopes and such.

I have no clue how to make it go through transparent parts. Disabling CanQuery fixes this issue, but I feel like their might be an instance where my Raycasts will now stop working because of that.

Any help would be appreciated. If you need even more details please let me know.

Please post a repro file, otherwise I can’t help you.

1 Like

@buildthomas I have had the rain system in my game for a while now, and for some reason it has started acting strange. Players have reported, that the particles ‘freeze’ when the camera is being moved. Not sure if this is due to the new particle effect changes, but I felt that it should be brought to your attention.

1 Like

Also thought I might add, that you CAN see this issue in a blank place, with just the plugin, and preview turned on, though it is not as ‘dramatic’ as in a live place.

I’m also having these issues. It works fine when the camera is not being moved or if the camera is inside.

I recommend filing a bug report about it – no changes were made to the module.

1 Like

Transparent Part Issue [Rain Module].rbxl (57.8 KB)

Request fulfilled. Sorry for late response btw, I have school.

Anyways something I found that was pretty intriguing when I did a quick test…

Checking the “Enabled” box under the Plugin will make the issue with Transparent parts go away.

image

However if you have “Enabled” set to false, then trying requiring the module in a LocalScript and enabling it from there, the issue is present.

I hope that helps while you test. Figured I’d tell you so you can see for yourself.

Oh yeah, almost forgot

The repro place contains 3 of the parts configured the exact same way they are within my games.

The “Transparent Part” one is the one I’m having issues with the most. CanQuery ignores raycasts, hence why no rain particles show up. (I don’t want to have to enable that though)

Secondly, “Transparent Part with CanQuery” is exactly as described above. It works as expected, but I don’t want to have to use this.

And finally, the Opaque part is your standard CanCollide + 0% transparency BasePart.

Any help is greatly appreciated

2 Likes

Posted bug report here: Particle effect library no longer renders correctly when camera is moving

Fortunately, looks like this is a proper engine bug, so no significant restructuring of the module should be needed. It’s a regression bug too so hopefully they have bandwidth to resolve it soon™.

1 Like

If you look at Studio, what the plugin does is add a script above the module that sets the properties of the plugin window into the module.

If you are not using this script (by setting Enabled=false in the plugin window), and then you manually require the rain, obviously the properties will not take effect since your separate script is not setting those properties. You’ll need to set the desired properties via your script if you are not using the plugin.

1 Like

Yes, but if I hit enabled, the plugin adds the script, correct? When I uncheck “Enabled” the script still exists, with the properties still intact. Why would this make a difference if I set the settings myself if the rain scripts properties were already set to the desired effects? I don’t understand how that works.

The script above the module is disabled, so the properties from the plugin window are never set in the module once you play the game.

Look at the script hierarchy in Studio to better understand why this happens.

The expected workflow is either:

  • you exclusively use the plugin (for non-technical users)
  • you use the module separately and hit that with your own scripts
1 Like

So all these values under the script take no effect whatsoever? They’re just references?

image

Whether the plugin is enabled or not, the “TransparencyConstraint” is still true, which means it should obey transparent parts according to your code. (Yes, the script is under my player scripts folder as you can see.)

I’ll try setting the options manually then I suppose. I’ll post back if the issue persists.

No, they’re not just for reference.

The “Rain” is the separate module you can download and use in your own code.

The “RainScript” and the value objects are what the plugin inserts above the “Rain” module to communicate the values to the “Rain” module. The “RainScript” is the one that reads the value objects and forwards them to the relevant API of “Rain”. So if “RainScript” is disabled, these properties are not communicated to the “Rain” module.

As above, please either use the plugin or the module in your game, not a combination of the two.

2 Likes

Okay I’ll just switch to using the module from now on since the Plugin doesn’t work for any of my use cases. Hopefully that prevents this issue.

Personally if I wrote this, I would make it so it would work either way, but I can see where you’re coming from with either using the Plugin or your own separate script.

Wish you luck on future projects.

This issue should be resolved now.

2 Likes

Hi, um I was just wondering. On accident when I downloaded the plugin it asked if it would be able to make changes to scripts. I pressed No, and no matter how many times I redownload the plugin I can’t seem to make it work when in preview and also when in-game.
If you have a solution to my problem that would help me very much as your plugin looks really good and would tie my game’s atmosphere together.
Thanks

In File > Advanced > Manage Plugins, it should show something like this:

image

Instead of “Script Injection Allowed”, it’ll say “Script Injection Denied” for you currently. Just hit the small edit icon next to it and it should allow you to toggle the permission.

1 Like