[Studio Beta] Introducing Occlusion Culling

Is there going to be a switch for this or will it just be default for all experiences when it goes live(public)?

Will there be an ‘opt out’ for games that might determine this is taking away from the quality in some way. (i’m not saying it will but, in case it causes some sort of issue)

My game is using humanoid characters ar NPCs and they are quite resource intensive. Do they count as avatars and will not be affected by this update? If so, will they be implemented in a future update?

if you could send a place file for the repro case, then we will have a look. Thank you!

Is occlusion-culled terrain in active development, or should we assume it’s far ahead on the roadmap?

2 Likes

We can’t say at this point whether we will offer a control to toggle this. There are arguments for and against.

During the rollout stage, we can quickly turn it on or off for individual games. If you notice problems with occlusion culling, please let us know so we can fix them! While we fix them, we’ll disable occlusion culling for your game. We’d much rather fix the problems so that you don’t want to turn it off! I’ve already fixed two issues that were brought up by posts in this topic.

3 Likes

Culling fast clusters (which includes avatars) is pretty much the first thing on the roadmap after release.

6 Likes

Good job! This is amazing, I have been waiting years for this update.

1 Like

Heres a look at In Nature’s Realm: Instant of Autumn, but isn’t entirely as beneficial as one would expect. Nonetheless, better than nothing!

2 Likes

Testing this with fractals - menger sponge!

1.28 MILLION parts!

Insane. Its decently performant…



13 Likes

Such an amazing update!

Super grateful to see further improvements on the engine technology in the past year. Allows us to build more technologically expensive experiences. Truly excited to see terrain being added onto this list of supported features knowing its expensive processes.

Thanks for this update!
Taveple

4 Likes

oh my god. finally a feature that was actually actively requested for so many years!

i know how restrictive the roblox engine was in this regard, and the biggest of kudos to the team for finally working on and adding this!

does this mean that we’re possibly also going to get more effective distance culling?

2 Likes

This will be, the best change, in at least the past year. Thank you Roblox. Ive been trying to figure out how to add this in a efficient way in my own game, though I lack really the knowledge to actualy make it that good, so this is exactly what I needed.

1 Like

This is the best update i love it but are there plans to add occlusion culling to lights,Lights is the main thing that lags me the most

3 Likes

I enabled the beta however it refuses to cull anything.


(No Humanoid)

3 Likes

I’m not entirely sure what creates a Fast Cluster, but you can open the Shift+F2 Rendering menu, and check the “Clusters” label near the bottom and see whether any numbers with “c” at the end change when you add/remove any characters.

With Humanoid:

Without Humanoid:

Most geometry should still be cull-able, though, given some of the performance improvements people have posted in this thread.

1 Like

What am I looking for?

WITHOUT HUMANOID

WITH HUMANOID

1 Like

This is another problem of the Culling, if a MeshPart is not separated based on being attached, it will not cull even though one of the un-attached meshes goes in the wall. Also the weapon doesn’t offer culling if it contains a cluster of objects blocking one big one.

For example, lets say the Hands and the Gun are blocking a ball, the ball will not get culled unless the hands fully block the ball or the gun full blocks the ball, it cannot be 50/50, this should be model based not mesh based.

image

Actually sometimes it doesn’t even do THAT.
image

I’m guessing it will only do that based on depth.
image

Bump bump, any idea?

As far as I’ve seen, it only does that with surfaces facing the camera.

Yeah, confirmed:
image
image

It may still render bottom and top surfaces, but the ones you obviously cannot see are clearly culled

2 Likes

image

image

From the "Clusters: " label, adding a Humanoid removes 1 from the 3c after dyn and adds 1 to the 1c after hum. The number next to p also shows that 11 parts were moved between dyn and hum.

Are you asking whether it culls individual faces or the entire object? This new system cull entire objects (i.e. Parts/MeshParts), but the rendering system already culls faces facing away from the camera (i.e. more than 90* perpendicular to it’s view direction, assuming you haven’t enabled DoubleSided for your MeshPart), which is “backface culling”.

2 Likes