オクルージョンカリングは、ゲームオブジェクトが他のオブジェクトに隠されていてビューに表示されない (隠されている) ときに、オブジェクトのレンダリング演算を行わない機能です。
すべてのフレームで、カメラはシーン内のレンダラーを調べ、描画する必要のないものを除外 (cull) するカリング操作を実行します。デフォルトでは、カメラは 錐台カリング を実行します。これにより、カメラの視錐台内におさまらないすべてのレンダラーが除外されます。ただし、錐台カリングは、レンダラーが他のゲームオブジェクトによって隠されているかどうかをチェックしないため、Unity は、最終フレームに表示されないレンダラーに対するレンダリング操作で CPU と GPU 時間を無駄に消費する可能性があります。オクルージョンカリングは、Unity がこれらの無駄な操作を実行するのを防ぎます。
オクルージョンカリングによってプロジェクトのランタイムパフォーマンスが向上するかどうかを判断するには、以下を考慮します。
オクルージョンカリングは、Unity エディターでシーンに関するデータを生成し、ランタイムにそのデータを使用してカメラが何を見ることができるかを決定します。データを生成するプロセスはベイクと呼ばれます。
オクルージョンカリングのデータをベイクする場合、Unity はシーンをセルに分割し、セル内のジオメトリと隣接するセルの可視性を説明するデータを生成します。Unity は可能な場合はセルをマージし、生成されたデータのサイズを削減します。ベイク処理を設定するには、Occlusion Culling ウィンドウ でパラメーターを変更し、シーンの Occlusion Areas を使用します。
ランタイムに、Unity はこのベイクしたデータをメモリにロードし、Occlusion Culling プロパティが有効な各カメラに対して、データに対するクエリを実行して、そのカメラが何を見ることができるかを決定します。オクルージョンカリングを有効にすると、カメラは錐台カリングとオクルージョンカリングの両方を実行します。
Unity は Umbra ライブラリを使用してオクルージョンカリングを行います。Umbra に関する詳しい情報は、その他の資料 を参照してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.