環境ライティング
環境ライティングは、シーンの周辺からの光をシミュレーションできます。通常、空 (スカイ) の光をシミュレーションするのに使われますが、色の付いたアンビエントライトまたはスタジオの照明のシミュレーションにも使えます。 HD レンダーパイプライン (High Definition Render Pipeline、HDRP) には、2 つの環境ライティングがあります。
- ビジュアル環境。Visual Environment Volume オーバーライド によって制御されます。これは、カメラを通して見えるスカイボックスを制御し、環境ライトの視覚的側面を扱います。ビルトインレンダーパイプライン を用いて、シーンごとにVisual Environmentライティングの設定をカスタマイズできます。対照的に、HDRP の Visual Environment は Volume フレームワークを使って、同じシーンにあるスカイ (およびフォグ) のさまざまな環境ライティング設定群を滑らかに補間します。
- ライティング環境。これは、Lighting ウィンドウの Environment (HDRP) セクションによって制御されます。HDRP はライティング環境を使って、シーンの間接アンビエントライトを計算します。現在、HDRP の間接アンビエントライトは 1 つの環境ライティングソースのみをサポートするため、ボリュームフレームワークは使いません。
主にビジュアル環境は、シーンで空がどのように見えるかを制御するとともに、ライティング環境を使って空が間接アンビエントライトにどう影響するかを制御します。
ビジュアル環境
Visual Environment は Volume オーバーライドで、Volume が影響するカメラからどのタイプの スカイ と フォグ を見たいかを HDRP に指示します。Visual Environment をカスタマイズする方法に関する情報は、Visual Environment ドキュメントを参照してください。
プロジェクトの HDRP アセット には、すべての Visual Environment に影響する以下のプロパティーがあります。
- Reflection Size: スカイキューブマップの解像度を制御します。Unity はローカルのリフレクションプローブに影響されないエリアに対するフォールバックリフレクションプローブとして、このキューブマップを使います。カメラを通して直接見えるスカイの質には影響しません。
- Lighting Override Mask: カメラから見えるスカイを、アンビエントライトに影響を与えるスカイから切り離すことができる、レイヤーマスクです。例えば、夜に空を暗くしたいけれど、はっきり見えるようにより明るいライティングを使いたい場合などです。ライティング環境からビジュアル環境を分離する を参照してください。
HDRP ビルトインのスカイタイプ
HDRP にはビルトインの Sky タイプ が 3 つあります。
また HDRP では背景を表示し、環境ライティングに対応する独自のスカイタイプを実装できます。独自のスカイの実装方法については、HDRP のカスタマイズ ドキュメントにあるインストラクションを参照してください。
ノート: Procedural Sky (プロシージャルスカイ) は非推奨で、HDRP にはビルトインされません。HDRP プロジェクトにプロシージャルスカイを追加する方法に関する情報は、2019.2 から 2019.3 にアップグレード を参照してください。
ライティング環境
Environment (HDRP) は Lighting ウィンドウ の 1 セクションであり、HDRP でどのスカイを間接アンビエントライトに使うかを特定します。ウィンドウを開くには、Window > Rendering > Lighting > Environment を選択してください。
Environment (HDRP) セクションは上部にあり、2 つの変更可能な設定があります。
設定 | 説明 |
---|---|
Profile | スカイ用の Volume Profile です。この Volume Profile には、少なくとも 1 つの Sky Volume オーバーライドがなければなりません。 |
Static Lighting Sky | グローバルイルミネーションシミュレーションに用いるスカイです。ドロップダウンには Profile が含むスカイタイプのみが含まれます。例えば、Profile に Gradient Sky ボリュームオーバーライドが含まれている場合、このドロップダウンから Gradient Sky を選択できます。 この設定は、Volume Profileが Profile フィールドに割り当てられているときのみ、編集できます。 |
シーンでは Static Lighting Sky フィールドおよび Volume の両方に、同じ Volume Profile を割り当てることができます。この場合、そして同じスカイ設定をベイクしたライティングと Volume のビジュアル背景を使う場合、ベイクしたライティングは、ランタイムの背景に正確にマッチします。もし環境ライトのライトのベイクを、シーンのビジュアル背景とは別に制御したい場合は、各プロセスに異なる Volume Profile を割り当てられます。
ノート: ベイクする環境に対する変更は、ベイクしたライトマップとベイクプロセス中のライトプローブのみに影響します。
ライティング環境からビジュアル環境を分離する
プロジェクトの HDRP アセットにある、スカイ Lighting Override Mask を使って、環境ライティングから Visual Environment を切り離すことができます。Lighting Override Mask を Nothing に設定するか、または Volume を持たない Layers グループに設定すると、どのレイヤーもオーバーライドとしては作用しません。つまり、カメラに影響するすべての Volume からの環境ライティングを含みます。Lighting Override Mask に Volume を持つレイヤーを含むように設定すると、HDRP はこれらのレイヤーの Volume のみを使い、環境ライティングを計算します。
スカイライティングをビジュアルスカイから切り離したい、そしてそれぞれに異なる Volume Profile を使いたい例として、太陽光を含む HDRI スカイ が挙げられます。アプリケーションでランタイムに太陽を可視化するために、スカイ背景は太陽を際立たせる HDRI スカイを表示しなければなりません。太陽からのリアルタイムなライティングを実現するには、ディレクショナル ライト をシーンで使い、ベイキングプロセスには最初ものと同一で、ただし太陽を含まない HDRI スカイを使わなければなりません。太陽を含む HDRI スカイを使ってライティングをベイクすると、太陽が 2 回ライティングに影響を与えることになり (ディレクショナルライトからの 1 回と、ベイキングプロセスからの 1 回) ライティングが非現実的になってしまいます。
アンビエントライトプローブ
HDRP はアンビエントライトプローブを、間接拡散ライティングの最終フォールバックとして使い、以下に影響を与えます。
- シーンに間接アンビエントライトが計算されていない場合の、すべてのメッシュレンダラー (これは Unity がシーンにライトマップまたはライトプローブを計算していないときに適用します)。
- Light Probes Mode が Off になっているメッシュレンダラー
- Global Light Probe dimmer が 0 より大きい値に設定されている場合のボリュメトリックフォグ
アンビエントライトプローブは、静的 (1 度だけ生成される) または動的 (ランタイムに更新される) のいずれかになり得ます。ノート: シーンに Light Probe グループがあり、間接アンビエントライトを既に計算する場合は、アンビエントライトプローブが影響を与えるのは Light Probe Mode が Off に設定され、かつ Volumetric fog を持つ (シーンで有効である場合)、メッシュレンダラーのみです。
環境光リフレクションプローブ
HDRP は環境光リフレクションプローブを、間接反射光のフォールバックとして使います。つまり、ローカルリフレクションプローブ、スクリーンスペースリフレクション、およびレイトレーシングされたリフレクションが影響しないエリアのみに影響を与えます。
リフレクション
リフレクションプローブは、カメラに似ています。ボリュームシステムを使うので、スカイから環境ライティングを取り込みます。これは影響を与える Volume の Visual Environmentで設定できます。