Open unfa opened 1 month ago
The problem is the AABB is incorrect for the red box. If I set a custom AABB it works.
(Not sure where the responsibility lies for creating the AABB in 4.x, so leave for others to investigate.)
Running the MRP locally, it seems like this is also a self-occlusion problem. The red and blue boxes are getting occluded by their own baked occluders. Setting the red and blue boxes to invisible and re-baking solves the problem as well.
So likely some sort of precision issue that makes it so baked occluders are improperly occluding the object they were baked from. The issue also goes away when removing the wall in the centre of the scene. So there is some interaction between the angle of view, the size of the gap, and the AABB of the source mesh
Tested versions
Reproducible in 4.3-beta2 and 4.2.2-stable.
System information
Arch Linux w/ X11 and Windows 10 using Radeon RX6800XT
Issue description
Occlusioin culling falsely culls a large object that is mostly obsured, but still visible through an opening in a wall in certain spatial configurations.
Here the red block is visible (expected):
And here it is culled (unexpected):
Video demonstrations in Liblast project: https://youtu.be/xQW2PNNUggw (Godot 4.2.2-stable) https://youtu.be/kfxirWBtZQ4 (Godot 4.3-beta2)
Steps to reproduce
Minimal reproduction project (MRP)
Run the game to see an animated demo.
MRP.zip