このページでは、シーンで Lighting Settings Asset を使用し、その Lighting Mode プロパティが Shadowmask に設定される場合の、シーンのすべての Mixed Lights (混合ライト) の動作について説明します。
Shadowmask ライティングモード と同様に、Shadowmask ライティングモードは、リアルタイムの直接ライティングとベイクした間接ライティングを組み合わせます。ただし、Shadowmask ライティングモードは、影をレンダリングする方法が Baked Indirect ライティングモードと異なります。Shadowmask ライティングモードでは、ランタイムにベイクした影とリアルタイムの影組み合わせて、距離が離れた場所に影をレンダリングすることができます。これを行うには、シャドウマスクと呼ばれる追加のライトマップテクスチャを使用し、ライトプローブ に追加情報を格納します。
Shadowmask ライティングモードは、すべてのライティングモードの中で忠実度が最も高い影を提供しますが、パフォーマンスコストとメモリ要件が最も高くなります。ハイエンドや平均的なハードウェアで、オープンワールドなど、遠くにあるゲームオブジェクトを表示するリアルなシーンをレンダリングするのに適しています。
See the HDRP and URP documentation for compatibility information specific to scriptable render pipelines. Unless otherwise specified, the Built-In Render Pipeline supports all features described in this article.
Shadowmask ライティングモードには以下の品質設定があります。
シーンのライティングモードを Shadowmask に設定し、プロジェクトが品質設定で Distance Shadowmask を使用する場合、混合ライトは以下のように動作します。
シーンのライティングモードを Shadowmask に設定し、プロジェクトが品質設定で Shadowmask を使用する場合、混合ライトは以下のように動作します。
ビルトインレンダーパイプラインでは以下を行います。
HD レンダーパイプラインでは以下を行います。
HDRP の Shadowmask ライティングモード ドキュメントを参照してください。
Shadow Distance プロパティを使用して、Unity がリアルタイムの影 (シャドウ) を描画するカメラからの距離制限を決定します。
ランタイムに、Unity はシャドウマスクを使用して、ピクセルを影にするかどうかを判断します。シャドウマスクのテクスチャには、ベイクしたライトに関するオクルージョン情報が含まれます。シャドウマスクは同じ UV レイアウトと解像度を対応するライトマップと共有します。シャドウマスクには、テクセルごとに最大 4 つのライトのオクルージョン情報が RGBA 形式で含まれます。
4 つ以上のライトが重なった場合、余分のライトはベイクしたライティングに代替処理されます。どのライトをベイクしたライトにするかはベイクのシステムによって決定され、重なっているライトの 1 つが変更されない限り、ベイク全体で一貫しています。ライトプローブも、最大 4 つのライトの同じ情報を取得します。
ライトの重なりは、影を受けるオブジェクトと無関係に計算されます。ですから、それらのライトのバウンディングボリュームが空間の点で重ならない限り、1 つのオブジェクトが、すべてが同じシャドウマスク/プローブのチャンネルから来る 10 の異なる混合ライトの効果を受けることが可能です。ライトが重なる場合は、より多くのチャンネルが使用されます。そして、4 チャンネルがすべてすでに割り当てられているときにライトが重なる場合は、そのライトは完全にベイクされるように代替処理されます。