Version: Unity 6.0 (6000.0)
言語 : 日本語
ライティングモードでの混合ライトの設定
シーンのライティングモードの設定

Lighting Mode

このセクションでは、Lighting Settings アセットLighting Mode プロパティの効果について説明します。

Lighting Mode は、Lighting Settings アセットを使用するすべてのシーンで、すべての混合ライトの動作を決定します。利用できるモードは以下の通りです。

  • Baked Indirect は、リアルタイムの直接光とベイクされた間接光を組み合わせます。このモードではリアルタイムシャドウマップでリアルタイムシャドウを利用できます。このライティングモードでは、現実的なライティングと適度な影の忠実性を得ることができ、ミドルレンジのハードウェアに適しています。
  • Shadowmask は、リアルタイムの直接光とベイクされた間接光を組み合わせます。遠くのゲームオブジェクトのベイクされた影 (シャドウマスク付き) をサポートし、リアルタイムの影 (シャドウマップ) と自動的にブレンドします。Shadowmask Lighting モードは、最もリアリティがあるものの、最もリソースを消費するライティングモードです。Quality Settings を使用して、パフォーマンスと見た目の忠実度を設定できます。このライティングモードは、ハイエンドまたはミドルレンジのハードウェアに適しています。
  • Subtractive (減法) では、ベイクされた直接光と間接光を利用できます。1 つのディレクショナルライトに対してのみ、リアルタイムの直接シャドウをレンダリングします。このライティングモードは、特にリアルなライティング結果を提供するわけではないため、様式化されたアートやローエンドのハードウェアに適しています。

レンダーパイプライン間の各ライティングモードのサポートについては、レンダーパイプラインの機能の比較を参照してください。

Baked Indirect

シーンのライティングモードを Baked Indirect に設定すると、間接光はリアルタイムのライトのように動作し、間接光をライトマップにベイクするという利点もあります。混合ライトで照らされたゲームオブジェクトは、プロジェクトで定義したシャドウディスタンス内でリアルタイムの影を作ります。

混合ライトは以下のように動作します。

  • 混合ライトで照らされた動的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクされた間接ライティング、ライトプローブ使用。
    • 動的ゲームオブジェクトからの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
  • 混合ライトで照らされた静的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクした間接ライティング、ライトマップ使用。
    • 静的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。

影とランタイムパフォーマンス

Baked Indirect Lighting モードでは、混合ライトからのすべての影がリアルタイムであるため、パフォーマンスに影響を与える可能性があります。Shadow Distance プロパティを使用してリアルタイムで影を描画する距離を制限することによって、この影響を軽減できます。

シャドウマスク

Baked Indirect Lighting モードと同様に、Shadowmask Lighting モードは、リアルタイムの直接ライティングとベイクした間接ライティングを組み合わせます。ただし、Shadowmask Lighting モードは、影をレンダリングする方法が Baked Indirect Lighting モードと異なります。Shadowmask Lighting モードでは、ランタイムにベイクした影とリアルタイムの影を組み合わせて、距離が離れた場所に影を描画することができます。これを行うには、シャドウマスクと呼ばれる追加のライトマップテクスチャを使用し、ライトプローブに追加情報を格納します。Unity はベイクした影のシャドウマスクとライトプローブのオクルージョンデータを生成します。

Shadowmask Lighting モードでは、すべてのライティングモードの中で最も忠実度の高いシャドウを表現できますが、パフォーマンスコストとメモリ要件も最大です。ハイエンドやミドルレンジのハードウェアで、オープンワールドなど、遠くにあるゲームオブジェクトを表示するリアルなシーンのレンダリングに適しています。

品質設定パネルを使用して、ランタイムに使用する Shadowmask モードを設定します。

  • Distance Shadowmask は高いパフォーマンスコストで忠実度の高い影が得られます。
  • Shadowmask では、低いパフォーマンスコストで忠実度の低いシャドウとなります。

Distance Shadowmask 品質設定

シーンのライティングモードを Shadowmask に設定し、プロジェクトが品質設定で Distance Shadowmask を使用する場合、混合ライトは以下のように動作します。

  • 混合ライトで照らされた動的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクされた間接ライティング、ライトプローブ使用。
    • 動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのベイクした影、ライトプローブ使用 (シャドウディスタンスを超える範囲)。
  • 混合ライトで照らされた静的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクした間接ライティング、ライトマップ使用。
    • 動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのベイクした影、シャドウマスク使用 (シャドウディスタンスを超える範囲)。

Shadowmask 品質設定

シーンのライティングモードを Shadowmask に設定し、プロジェクトが品質設定で Shadowmask を使用する場合、混合ライトは以下のように動作します。

  • 混合ライトで照らされた動的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクされた間接ライティング、ライトプローブ使用。
    • 動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのベイクした影、ライトプローブ使用 (すべての範囲)。
  • 混合ライトで照らされた静的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクした間接ライティング、ライトマップ使用。
    • 動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからのベイクした影、シャドウマスク使用 (すべての範囲)。

シャドウマスクの実装の詳細

ランタイムに、Unity ではシャドウマスクを使用して、ピクセルを影にするかどうかが判断されます。シャドウマスクのテクスチャには、ベイクしたライトに関するオクルージョン情報が含まれます。シャドウマスクは同じ UV レイアウトと解像度を対応するライトマップと共有します。シャドウマスクには、テクセルごとに最大 4 つのライトのオクルージョン情報が RGBA 形式で含まれます。

4 つを超えるライトが重なった場合、余分なライトはベイクされライティングに代替処理されます。どのライトをベイクされたライトにするかはベイクのシステムによって決定され、重なっているライトのいずれかが変更されない限り、ベイク全体で一貫しています。ライトプローブも、最大 4 つのライトについて同じ情報を取得します。

ライトの重なりは、影を受けるオブジェクトと無関係に計算されます。そのため、それらのライトのバウンディングボリュームが空間の点で重ならない限り、1 つのオブジェクトが、すべてが同じシャドウマスク/プローブのチャンネルから来る 10 の異なる混合ライトの効果を受けることが可能です。ライトが重なる場合は、より多くのチャンネルが使用されます。そして、4 チャンネルすべてがすでに割り当てられているときにライトが重なる場合は、そのライトは完全にベイクされるように代替処理されます。

影とランタイムパフォーマンス

Shadow Distance プロパティを使用して、Unity がリアルタイムの影 (シャドウ) を描画するカメラからの距離制限を決定します。

Subtractive

Subtractive (減法) ライティングモードでは、シーンのすべての混合ライトはベイクされた直接および間接ライティングを提供します。Unity は、静的ゲームオブジェクトから投影された影 (シャドウ) はライトマップにベイクされます。ベイクされた影に加えて、メインディレクショナルライトと呼ばれる 1 つのディレクショナルライトが、動的ゲームオブジェクトにリアルタイムの影を提供します。

影はライトマップにベイクされるため、ランタイム時にベイクした影とリアルタイムの影を正確に組み合わせるには、必要な情報がありません。代わりに、Unity ではライトマップからの影響を減らすために Realtime Shadow Color (リアルタイムシャドウカラー) を使用し、ベイクした影とリアルタイムの影が正しくブレンドされているように見せます。特定の芸術的なスタイルを実現するために色を微調整することもできます。

Subtractive (減法) ライティングモードは、パフォーマンスが重要なローエンドのハードウェアで、リアルタイムで影をキャストするライトが 1 つだけ必要な場合に便利です。特にリアルなライティングエフェクトは提供せず、シェーディングなどの様式化された外観に適しています。

Unity は自動的に、シーンで最も強度の高いディレクショナルライトをメインディレクショナルライトに選びます。

シーンのライティングモードを Subtractive に設定すると、混合ライトは以下のように動作します。

  • 混合ライトで照らされた動的ゲームオブジェクトは以下を受けます。
    • リアルタイムの直接ライティング。
    • ベイクされた間接ライティング、ライトプローブ使用。
    • メインディレクショナルライトから照らされる動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
    • 静的ゲームオブジェクトからの影、ライトプローブ使用 。
  • 混合ライトで照らされた静的ゲームオブジェクトは以下を受けます。
    • ベイクされた直接ライティング、ライトマップ使用。
    • ベイクされた間接ライティング、ライトマップ使用。
    • 静的ゲームオブジェクトからのベイクした影、ライトマップ使用。
    • メインディレクショナルライトから照らされる動的ゲームオブジェクトからのリアルタイムの影、シャドウマップ使用 (シャドウディスタンス以内)。
ライティングモードでの混合ライトの設定
シーンのライティングモードの設定