How laggy would it be to fade in an entire map? Any alternatives?

Hey all! I’m working on a system where I can basically hide and render things based on regions.
https://cdn.discordapp.com/attachments/766837408494256152/1042008829044457502/RobloxStudioBeta_TqLejGtm5t.mp4
I want to be able to hide things and fade them in based on the distance the player is from the region, then fade the entire region in at once or get as close to that as possible.
I am considering maybe making parts near the entrance fade in, then once they’ve fully rendered set the rest of the map as visible all at once. I would like to avoid this if possible in order to have as smooth a transition as possible in all situations.

Has anyone had experience with mass-fading objects? Any recommendations or resources for me to check out to pull off this effect without impacting performance too much?

1 Like

You could have it where the fade effect itself has a level of detail maybe! There’s mostly gonna be some workarounds if the map is intricate and detailed with instances everywhere.

1 Like

Hmm yeah, kind of like how grand piece just has islands be made out of giant blocks until you get close enough to them. I’d be concerned about it taking too much time to set up and the limitations it’d bring up, though.

1 Like

Would it maybe be possible to create some sort of artificial fog around the character instead of the camera? That way we can hide areas being loaded with fog and the players can’t just zoom their camera out to see it pop in

Edit: Could have regular fog, judge distance away from player and fade in a black gui covering the entire screen when you zoom out too far…

1 Like

Most of the time, I rely on ROBLOX streaming opportunistic for external details. I tried creating a system where parts get culled to replicated storage based on the player camera view. It works as expected, but the performance was worse than it should be. However, I hide all interiors to replicated storage and parent them back when a player enters that house.

2 Likes

You might want to add an Atmosphere to Lighting. It does something similar to what you’re talking about.

1 Like

For this project objects need to be hidden when you’re in a different region for artistic purposes- I want it to feel like you’re entering a different world. So it’s not really about optimization but rather about style. I have turned on streamingenabled, though.

1 Like

Atmosphere takes too long to process big lighting changes, doesn’t look too great when transitioning from one region to another.

2 Likes

Big games like Spiderman or GOW use a super-densed or bright/dark light to naturally transition from world to world. You usually see this transition when going from indoor to outdoor or vice versa.

1 Like

Looking at the video, I think you’re good to go now without the object(s) fade in. From the end of the newly made ramp it’s nice and dark. Don’t they fade in now from shadows as the lights come on …

1 Like

It doesn’t prevent players from zooming out their camera and sticking it in a part of the map that hasn’t rendered yet

There’s a property of an Atmosphere that basically does exactly what you’re saying, and it even looks better. I think it’s the Density of an Atmosphere. You should play around with it and see if it works for you!

roblox really doesnt like transparency fading for a bunch of parts unfortunately, it can work for a few parts but with a bunch the engine crumbles to pieces even on the godliest of pcs.

I would suggest making a dense fog around the player like said earlier in the thread or even just use a gui object fading to black

1 Like

As previously stated, atmosphere takes too long to update and leads to very choppy looking transitions

I’ve been looking at various different approaches and I think something along the lines of making the game as dark as possible and adding a light around the player would be a good compromise.

Is there any way to get some sort of a volume light where the area inside a sphere is fully lit up? Putting a light in the player’s humanoidrootpart leads to them looking like they have a flashlight stuck under their chin

try experimenting with different light locations, like maybe 5 studs above the player?

The issue with that is that lights are limited to 60 studs away.
As others have said, Fog, or something similar is a good option. I think you can change the lighting and the Fog to render it blacker.

Transparency would kill most computers, and having transparent items behind other transparent items causes major rendering issues like flickering between showing the first or second item.

1 Like

I’m currently using fog as a placeholder, it’s not ideal since it follows the camera instead of the player, but maps are rendered based on how close your player is to it.
What do you mean by lights being limited to 60 studs away?

Making a ring of pointlights around the player seems to be a good middle ground

2 Likes

I suppose you can combine every part in the chunks into a unionpart so you can just fade the entire part without having to loop through several objects?

This would make building a nightmare, though.