Models that are outside of an experience’s streaming radius but within the “render distance” of a user’s graphics settings are not culled when occluded. This is detrimental in settings like large, but dense cities, as far away models that are visible via a user’s graphics settings are not culled when occluded.
In debugging this behavior, increasing the streaming radius to infinity and/or disabling streaming produced the expected culling results. But also nullifies the benefits of streaming.
Steps to Reproduce:
- Open Roblox’s “Modern City” Template
- Set
Workspace
’sStreamingTargetRadius
property to a low number - Set your graphics settings to maximum
- Enable the Wireframe Rendering mode
- Play Solo
StreamingTargetRadius: 128
StreamingTargetRadius: 1024
As we can see, when StreamingTargetRadius
is 128, there are still models being rendered behind the building that is occluding them. When StreamingTargetRadius
is 1,024, the models behind the building are culled.
I make no distinction of whether the model(s) being rendered are LOD models because culling should be independent of model LOD and streaming radius.
Expected behavior
An occluded model should be a culled model. Occlusion culling should not be informed by streaming/streaming radius.