Unity で、シャドウ キャスティングが原因で、トップダウン ビューまたはアイソメ ビューでオフカメラ オブジェクトをカリングできないという問題が発生しました。
ディレクショナル ライトは対角線であるため、ライトが来る方向でカメラ ビューの外側にあるオブジェクトは、カメラ ビューに影を落とす可能性があります。実際には、これらのほとんどすべてのオブジェクトは、カメラ ビュー内のはるか下の地面に影を落とすだけなので、実際にレンダリングする必要はありません。ただし、Unity はそれを認識せず、とにかくそれらの影をレンダリングするため、パフォーマンスが大幅に低下します。
これをオクルージョンカリングで解決してみました。地面に巨大な平面を作成し、静的としてマークし、このオブジェクトのオクルージョン カリングをベイク処理して、地面の下にあるものがレンダリングされないようにしました。残念ながら、これは役に立たず、影が地面の下のカメラ ビューに入る可能性のあるすべてのオブジェクトがまだレンダリングされています。
別の解決策として、オブジェクトごとに生成される影の範囲を制限することもできます。これらのオブジェクトの多くは非常に低く、常に地面にあるため、それらの影がオブジェクトから 1 ~ 2 メートル以上離れている可能性はありません。しかし、ユニティがこれをカリングに使用できるように、そのような値を定義する方法を見つけることができませんでした。
この問題を克服する方法に関する他のアイデアはありますか?
注: シーン全体がプロシージャルに生成されるため、地面自体を除き、静的オクルージョン カリングは使用できません。