World作ってて「隣接する部屋で、一方の部屋のOcclusion Cullingが正常に動作せず、意図せずオブジェクトがCulling されてしまう」というOcclusion Culling のバグ(仕様?)に遭遇したのでメモ
隣接する部屋で、一方の部屋のOcclusion Cullingが正常に動作せず、意図せずオブジェクトがCulling されてしまう
という症状。
最初はBakeミスかと思ったけど、どうやらそうでもなかった。
Occluder Static を解除すると正常に戻ったので、どうもその判定が暴発してる模様。
なぜ暴発するのか、個別にオブジェクットを見て行ったら、複数のOccluderが近接する時、
- あまりに近すぎる
- Overlapしている
場合、メッシュの形状によっては暴発するっぽい。
故に、隣接する壁のメッシュのOccluder Staticを外すだけで、最終的には正常に戻った。
これが暴発すると、近くの別のOccluderまでおかしくなったので、タチが悪かった。(推測だが、内部的にBatchingされたから、結合されたOccluderまで影響をうけた可能性)
そして、この検証をしてる時に「Reflection Probeの計算は、Occlusion Culling の影響を受ける」というのに改めて気づき、Reflection Probeで稀にSkyboxが焼けてしまう問題の原因の解明になった。