オクルージョンカリングは、ゲームオブジェクトが他のオブジェクトに隠されていてビューに表示されない (隠されている) ときに、オブジェクトのレンダリング演算を行わない機能です。
カメラはフレームごとにカリング操作を実行してシーン内のレンダラーを検証し、描画する必要のないレンダラーを除外 (カリング) します。デフォルトでは、カメラは 視錐台カリング を実行します。これにより、カメラの視錐台に含まれないレンダラーはすべて除外されます。ただし、視錐台カリングでは、レンダラーが他のゲームオブジェクトによって遮蔽されているかどうかはチェックされません。そのため、最終的なフレームで表示されないレンダラーのレンダリング操作に、引き続き CPU と GPU の時間を浪費してしまう可能性があります。オクルージョンカリングは、これらの無駄な操作を実行しないようにします。
オクルージョンカリングによってプロジェクトのランタイムパフォーマンスが向上するかどうかを判断するには、以下を考慮します。
オクルージョンカリングは、Unity エディターでシーンに関するデータを生成し、そのデータをランタイムに使用してカメラに映る内容を決定します。データを生成するプロセスはベイクと呼ばれます。
オクルージョンカリングのデータをベイクする場合、シーンをセルに分割し、セル内のジオメトリと隣接するセルの可視性を説明するデータを生成します。可能な場合はセルをマージし、生成されたデータのサイズを削減します。ベイク処理を設定するには、Occlusion Culling ウィンドウ でパラメーターを変更し、シーンの Occlusion Areas を使用します。
ランタイムにベイクしたデータをメモリにロードし、Occlusion Culling プロパティが有効な各カメラについてデータのクエリを実行することで、そのカメラに映る内容を決定します。オクルージョンカリングを有効にすると、カメラは視錐台カリングとオクルージョンカリングの両方を実行します。