Subtractive モードはすべての混合ライトが共有するライティングモードです。混合ライティングを Subtractive に設定するには Lighting ウインドウを開きます ( Window > Lighting > Settings)。 Scene タブ をクリックし、 Mixed Lighting に移動して、 Lighting Mode を Subtractive に設定します。Subtractive ライティングに関して詳しくは 混合ライティング のドキュメントを参照してください。他のモードに関しては ライティングモード を参照してください。
Subtractive モードは直接ライティングをライトマップにベイクするただ 1 つの混合ライティングモードで、Unity が他の混合ライティングモードで動的なシャドウと静的なシャドウを合成するために使用する情報を破棄します。ライトはすでにライトマップにベイクされているので、Unity がランタイムに直接ライティングの計算を行うことはできません。
Subtractive モードでは
静的ゲームオブジェクトは混合ライトからスペキュラーまたは光沢のあるハイライトをまったく表示しません。また、主要なディレクショナルライトを除いて、動的なゲームオブジェクトからまったくシャドウを受け取ることはできません (これについての詳細は以下を参照してください)。
動的なゲームオブジェクトはリアルタイムのライティングを受け、光沢のあるリフレクションをサポートします。 ただし、動的なゲームオブジェクトは ライトプローブ を使った静的ゲームオブジェクトのシャドウだけしか受けられません。
Subtractive モードでは、動的ゲームオブジェクトから静的なゲームオブジェクトにリアルタイムのシャドウを投げる光源は、主要ディレクショナルライト (通常は太陽) だけです。 静的なゲームオブジェクトから他の静的なゲームオブジェクトに投げるシャドウは、主要ライトであってもライトマップにベイクされます。そのため、Unity はベイクしたシャドウとリアルタイムのシャドウの正しい合成を保証できません。したがって、Subtractive モードには Realtime Shadow Color (英語) フィールドがあります。Unity は、シェーダーでこの色を使用して、リアルタイムのシャドウとベイクしたシャドウを合成します。これを行うと、動的なゲームオブジェクトによってシャドウを落とされた範囲でライトマップの効果が削減されます。Unity があらかじめ決めた正しい値というものがないので、任意のシーンに対して有効な値を選択するのは、ユーザー自身の美的な選択に基づきます。
Subtractive モードが役に立つ良い例は、外部レベルと少ない動的ゲームオブジェクトを持つトゥーンシェーディング (つまり、漫画スタイルの) ゲームを構築する場合です。
以下の表は、Subtractive モードを使用するとき、静的ゲームオブジェクトと動的ゲームオブジェクトがどのようにシャドウを投げる/受けるかを示しています。
動的なオブジェクトがシャドウを受ける 動的ゲームオブジェクトが他の静的/動的なゲームオブジェクトからシャドウを受ける |
静的なオブジェクトがシャドウを受ける 静的ゲームオブジェクトが他の静的/動的なゲームオブジェクトからシャドウを受ける |
|||
---|---|---|---|---|
シャドウディスタンス範囲内 | シャドウディスタンスを超える場合 | シャドウディスタンス範囲内 | シャドウディスタンスを超える場合 | |
動的なオブジェクトがシャドウを投影 動的ゲームオブジェクトからシャドウを投げる |
シャドウマップ | - | 主要ライトのシャドウマップ | - |
静的なオブジェクトがシャドウを投影 >静的ゲームオブジェクトからシャドウを投げる |
ライトプローブ | ライトプローブ | ライトマップ | ライトマップ |
Subtractive モードのパフォーマンス要件は、ローエンドのモバイルデバイス向けのビルドに適しています。 以下は、Subtractive モードを使用する際の最も重要な長所と短所です。
追加のパフォーマンス要件無しに、ライトマップの静的ゲームオブジェクト間に質の高いシャドウを供給します。
シェーダーの 1 つのテクスチャ操作で、静的ゲームオブジェクトのすべてのライティングとシャドウを処理します。
間接光を提供します。
リアルタイムの直接光を供給しません。したがって、スペキュラーライティングを供給しません。
ディレクショナルライト (主要ライト) を除いて、静的ゲームオブジェクトに動的なシャドウを供給しません。
ライトプローブを使用して、静的なゲームオブジェクトから動的ゲームオブジェクトへ低解像度のシャドウしか作成できません。
動的なシャドウと静的なシャドウの合成は不正確になります。
ライトマップのテクスチャセットに関して、(ライトマップ無しにくらべ) より高いメモリ要件を必要とします。
2017–06–08 限られた 編集レビュー でパブリッシュされたページ
Light Modes、 5.6に追加