How do I make a snowfall effect with either particleemitter or the players screenGUI

I wanna make a snowfall like effect only the client can see to represent christmas, how can I do that? I did it with a particle emitter but since my map size is huge, there was little to no snowfall effects

Try this one.

Would much rather that the video was public, the test game doesn’t even work

There is DEMO place, you can download it and see if it’s something you’d like.

You could perhaps create a part with the particle emitter on it, make the part transparent and non collideable, and weld the part to the player’s head, so when they are in first person, they see the snowing effects. I don’t know about particles being able to only be made visible on the client.


A much simpler and straight forward solution would be to, create an image label and make it cover more than the whole screen (use scale x: 2, y: 2 atleast) and find a good snow image.
Make sure to use a scaling mode on the image which makes it not look stretched.

Then, create a local script in the gui, making a loop where the image moves from one point to another. Example: Top left to the down right, which makes it look like it is snowing diagonally.

I did the first part, it made my shiftlocking like glitch out, its like doing a 1 second tween whilst rotating

The first solution will not work as particle emitters are quite limited, as the player will se little to no snow because of the size of the map. misread it srry

If OP’s game has locked first person, it will work. If it doesn’t, he can definitely try my 2nd solution.

You can enable shift lock in your experience, and then perhaps make your own shift lock, mapping it to another key if you want.

Using LocalScript create a part (with particle emitter) and place it somewhere in the workspace and use the RunService.Heartbeat to update the part’s position to be above the player’s head. You could also check using Raycast if the player is indoors to disable the effect.

You can’t create parts locally, unless I’m wrong. Your post is also suspiciously similar to mine, basically just a rephrasal, but atleast you had another idea with the raycast indoors stuff, bringing something to the table.

Happy scripting! :wink:

You could try making a small transparent part high above the player and make it constantly follow their XZ position. then just turn it on and off depending if they supposed to see it or not.

You could also raycast down and set particles lifetime based on magnitude of the raycast vector.
this will make it look like its stopped by surfaces

You are wrong, you actually can create instances (including parts) locally in local scripts. And my reply wasn’t a “re-phrasal” of your idea if you took the time to read it. The implementation is completely different.

1 Like