How can I create a fog effect that works with everyone?

I’m trying to create an environment in the middle of a snowstorm, for a zombie fighting game. In order to achieve this, I surrounded the map in a cube and then used the fog setting under lighting to make the entire map look as if it’s in a snowstorm.

However, depending on your graphic quality setting, this effect may or may not work properly. If it’s too low, the surrounding cube won’t render, hence, the fog won’t load. To try and solve this, I made the surrounding cube closer to the map, however, you can just pan your camera to the cube itself, and the effect is easily broken.

I also can’t lower the FogEnd value, because the enemy spawner is pretty far away to allow for players to get a few shots in before the enemies can. If the FogEnd value is too low, players won’t be able to see the zombies.

Low Graphics Quality (Doesn't Load)

image

High Graphics Quality

Cube Made Closer (Camera Panned In)

image

Things I’ve Tried:

  • Forcing graphics quality. (Don’t think it’s possible, and it’d be pretty detrimental to those with low-end PC’s.

  • Lowering the transparency of the part, so even if you pan in, you can’t see it. (Makes fog not work.)

  • Making the part white. (Doesn’t do anything.)


Is there any way around this? Should I just take the tradeoff of making the cube closer, and hoping players don’t pan in?

This isn’t that big of an issue, so thanks for taking the time to read it, and hopefully, respond.

If this is the wrong topic or has been asked before, please tell me.

2 Likes

Try using inverted sphere and have it cframe to characters position each frame.

4 Likes

Thanks for your reply!

How would that work with multiple players?

Local scripts/objects. Each individual player can have individual ones which only they see and affects them. I forget the hierarchy because I haven’t used studio in a few months, but I think its just called LocalScripts

2 Likes

Thanks for all of your replies and help! Because local objects require FE, and I’m not too good with scripting Remote Events and Functions, I don’t think I’ll be able to do that.

If there’s no other way, I’ll probably just give up on the whole snowy environment thing. Thank you, again.

Local objects dont require FE

You dont need remove events either. All you need to do is make a local script which creates an object, an inverted sphere as mentioned before, as a child of the player (the head would work well).

1 Like

make the skybox white, then match the colour of the fog to the skybox using the screen colour picker tool in the color wheel menu

1 Like

The fog doesnt load on low graphics quality.

Can you walk me through the process of doing that? I’ve tried a script that welds a new part to the player’s head. However, it doesn’t affect the fog at all…

Also, when you say an inverted sphere, do you mean a sphere that’s hollow?

yes, a hollow sphere… kind of

also i dont remember but the outline is:
create a local character script or something
in it, write code to create a part as a child of the player’s head (LocalPlayer.Head or something)
youd probably need a mesh?

1 Like

my solution requires zero coding knowledge and works fine regardless of graphics settings.
fog is completely unaffected by graphics quality. example:

graphics quality 10:

graphics quality 1:

1 Like

Thanks for all your help, but that won’t help, with FE you need to code your game to be heavily reliant on RemoteEvents and Functions, which as I mentioned before, I’m not very good at scripting.

Local parts can only be made via FE, AFAIK.