Search Issue Tracker
Feature Request
Votes
0
Found in
2021.3.42f1
2022.3.41f1
6000.0.14f1
Issue ID
UUM-77656
Regression
No
Terrain is culled even when the Occludee Static flag is disabled
Reproduction steps:
1. Open the attached “bug-occludee-static-flag” project
2. Open the “Assets/Scenes/SampleScene_TerrainLit” scene
3. Enter the Play mode
4. Open the Occlusion window via “Window” -> “Rendering” -> “Occlusion Culling” and select the Visualization tab
5. Open the Scene view
6. Select the “Main Camera” GameObject and move it towards the terrain
7. Observe the results
Expected Result: The terrain is not culled when the camera is moved towards it
Actual Result: The terrain is culled when the camera is moved towards it
Reproducible with: 2021.3.42f1, 2022.3.41f1, 6000.0.14f1
Reproducible on: Windows 11 Pro, macOS 14.5 (reporter’s)
Not reproducible on: No other environments tested
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Spot Light with 'Box' Shape stops working when it collides with Mesh
- Accepting Asset Store EULA endless loop in Package Manager window
- “InvalidOperationException: Sequence contains no matching element“ error when reenabling a custom Debug Draw Mode
- Prefab that contains a layout group is marked as changed by the Editor when opened
- Emission animation does not appear when the "Emission Map" parameter is set to black in a Lit material
Resolution Note:
The current behavior is a bit confusing, but actually intended. Disabling the Occludee Static flag does not mean that the object won't be affected by occlusion culling. It just means that occlusion culling won't be performed via Umbra portal queries. When Occludee Static is disabled, the object is still affected by occlusion culling, except it is done by comparing the object's AABB with Umbra occlusion z-buffer instead. All Unity objects follow this behavior, even the ones without any static flag at all as long as occlusion culling was baked.
For MeshRenderers (and anything inheriting from Renderer), it is possible to opt-out from this behaviour by setting the allowOcclusionWhenDynamic property to false here https://docs.unity3d.com/ScriptReference/Renderer-allowOcclusionWhenDynamic.html
For Terrain however, the equivalent does not exist. It should be possible to implement theoretically, but from what I see it looks a bit involved and should count as a feature request.