オクルージョンカリングのシーンの設定
このページでは、 オクルージョンカリングのシーンを設定し、オクルージョンカリングデータをベイクし、結果を視覚化する方法について説明します。
シーンの設定
始める前に、シーン内で静的遮蔽物 (Static Occluder、その背後にある他のゲームオブジェクトの表示を遮る移動しないゲームオブジェクト) にしたいすべてのゲームオブジェクトと、静的被遮蔽物 (Static Occludee、静的遮蔽物によって隠される移動しないゲームオブジェクト) を確認します。ゲームオブジェクトは静的遮蔽物と静的被遮蔽物のどちらにもできます。
静的遮蔽物には、壁や建物など、中規模から大規模の固体のゲームオブジェクトが適しています。静的遮蔽物にするためには、ゲームオブジェクトが以下の条件を満たす必要があります。
LOD グループを使用している場合、Unity は静的遮蔽物のベースレベルのゲームオブジェクト (LOD0) を使用して、何を遮蔽するかを決定します。ゲームオブジェクトのシルエットが LOD0 と他の LOD レベルとで大きく異なる場合は、静的遮蔽物に適さない場合があります。
ランタイムに隠される可能性の高いゲームオブジェクトは、静的被遮蔽物に適しています。小さなゲームオブジェクトや透明なゲームオブジェクトなどが含まれます。静的被遮蔽物にするためには、ゲームオブジェクトが以下の条件を満たす必要があります。
- Renderer コンポーネントを使用をもっていること
- ランタイムに移動しないこと
静的遮蔽物と静的被遮蔽物にしたいゲームオブジェクトを特定したら、シーンを設定します。
- 静的遮蔽物にしたいゲームオブジェクトをすべて選択します。
- Inspector ウィンドウで Static Editor Flags ドロップダウンメニューを開き、Occluder Static を選択します。
- 静的被遮蔽物にしたいゲームオブジェクトをすべて選択します。
- Inspector ウィンドウで Static Editor Flags ドロップダウンメニューを開き、__Occludee Static__を選択します。
- カメラをシーンに追加して選択するか、既存のカメラを選択します。
- Inspector ウィンドウで、カメラの Occlusion Culling プロパティが有効になっていることを確認します。
データのベイク
オクルージョンカリング Inspector の Bake タブ。
- 上部のメニューで Window > Rendering > Occlusion Culling を選択し、Occlusion Culling ウィンドウを開きます。
-
Bake タブを選択します。
- Inspector ウィンドウの右下隅にある Bake ボタンを押します。Unity はオクルージョンカリングのデータを生成し、データをアセットとしてプロジェクトに保存して、そのアセットを現在のシーンにリンクします。
結果の外観
Occlusion Culling ウィンドウの Visualization タブ。
- Occlusion Culling ウィンドウとシーンビューの両方が表示されていることを確認します。Occlusion Culling ウィンドウが表示されている場合に、シーンビューにオクルージョンカリングのデータと Occlusion Culling ポップアップが表示されます。
- シーンでカメラを選択します。
- カメラを移動し、シーンビューを観察します。カメラがゲームオブジェクトを見ることができない場合は、錐台カリングまたはオクルージョンカリングが原因で、ゲームオブジェクトがビューから消えます。
- シーンビューの Occlusion Culling ポップアップを使用して、可視化を設定できます。
- 必要に応じて Occlusion Culling ウィンドウの Bake タブのベイク設定を調整し、ベイク処理を繰り返します。
ビルトインレンダーパイプラインを使用している場合は、Overdraw_ シーンビューモードを使用して発生しているオーバードローを確認し、ゲームビューの Stats パネルを使用して、描画中の三角形、頂点、バッチの数を確認します。