この画像は主に私の問題を説明しています:
frustum.boundsInFrustum メソッドは床を内部として検出しますが、ボックスもレンガのようなテクスチャを持つ他のものも検出されず、錐台の 3D 表現はそれらのいずれにも接触せず、それらを含みません。マップ内の他の場所やオブジェクトを試してみましたが、遠方視錐台の背後にある大きなモデルがしばしば干渉し、この問題を引き起こします。
FrustumCulling テストは、メソッド sphereInFrustum を boundsInFrustum に置き換えても、テスト内で (視錐台の遠平面の背後にあるオブジェクトを取得するために) 視錐台の長さを短くしても、正常に動作します。オブジェクトのサイズを変更して、そこでも問題を再現してみます。 (すでに試してみましたが、テストは問題なく動作し、コードの何か...)
注: FrustumCullingTest はデフォルトで bullet を使用してオブジェクトが別のオブジェクト内にあるかどうかをテストするため、このケースには適用されません。
編集:画像のシナリオのboundsInFrustumは、実際に錐台の平面の内面にある床の少なくとも1つのコーナーがあることを教えてくれたため、メソッドは常にtrueを返します。ここで起こっていることは、錐台がオブジェクトよりも小さく、それがオブジェクトの中央を指している場合、すべての平面がその内面にポイントを持っているということだと思います.