適応型プローブボリュームを使用する際に、スカイオクルージョンを有効にすることができます。スカイオクルージョンとは、ゲームオブジェクトが空の色をサンプリングするときに、光がゲームオブジェクトオブジェクトに届かない場合に Unity が色を暗くすることを意味します。
Unity のスカイオクルージョンは、ランタイムに更新されるアンビエントプローブからの空の色を使用します。つまり、空の色の変化に応じてゲームオブジェクトを動的に照らすことができます。例えば、空の色をライトからダークに変化させて、昼夜サイクルのエフェクトをシミュレートすることができます。
スカイオクルージョンを有効にすると、適応型プローブボリュームのベイクに時間がかかり、ランタイムに Unity のメモリ使用量が多くなる場合があります。
スカイオクルージョンを有効にすると、Unity は適応型プローブボリュームの各プローブに、追加の静的スカイオクルージョンの値をベイクします。スカイオクルージョンの値は、静的ゲームオブジェクトから反射した光を含め、プローブが空から受け取る間接光の量です。
ランタイムに静的または動的なゲームオブジェクトが適応型プローブボリュームのプローブをサンプリングすると、Unity は以下の 2 つの値を使用して空からの光を近似します。
最初に、GPU ライトマッパーを有効にします。代わりにプログレッシブ CPU を使用する場合、Unity はスカイオクルージョンをサポートしません。
スカイオクルージョンを有効にするには、以下の手順を実行します。
ライティングデータを更新するには、スカイオクルージョンを有効または無効にした後で、適応型プローブボリュームをベイクすることも必要です。
ランタイムに空からの光を更新するには、シーンのアンビエントライトに、スカイボックスではなく色を使用する必要があります。色を使うには、以下の操作を実行します。
ランタイムに空からの光を更新するには、以下のいずれかを実行します。
RenderSettings API のプロパティ (ambientSkyColor など) を使用して空の色を変更する。
オブジェクトがアンビエントプローブをサンプリングする場合、Unity はデフォルトでオブジェクトの表面法線を空の向きとして使用します。この向きは、光が当たる向きと一致しない場合があります。例えば、オブジェクトが室内にあり、空の光が他のオブジェクトに反射して到達する場合などです。
Unity は代わりに、それぞれの適応型プローブボリュームから正確な向きを計算し、保存し、使用し、反射のライティングを考慮することができます。これにより、スカイオクルージョンがより正確になります。特に洞窟のような場所で空に直接プローブの視界が届かない場合や、空にコントラストのある色があって、窓から特定の向きの光が差す場合などに有効です。
この機能を有効にするには、Lighting ウィンドウの Adaptive Probe Volumes で Sky Direction を有効にします。
Sky Direction を有効にすると、以下の内容が適用されます。
Unity が使う向きをオーバーライドするには、Probe Adjustment Volume コンポーネントを使用します。