Version: 2017.2
Shadowmask
Subtractive モード

Distance Shadowmask

Distance ShadowmaskShadowmask ライティングモードの 1 つです。シーンのすべての混合ライトに共有されます。 Mixed lightingDistance Shadowmask に設定する手順は以下のとおりです。

  • Lighting ウィンドウを開き ( Window > Lighting > Settings )、Scene タブをクリックします。 Mixed LightingLighting ModeShadowmask に設定します。
  • 次に、 Quality Settings ( Edit > Project Settings > Quality ) を開きます。 Shadowmask ModeDistance Shadowmask に設定します。

このライティングモードに関して詳しくは 混合ライティング のドキュメントを参照してください。他のモードに関しては ライティングモード を参照してください。

シャドウマスクは、対応するライトマップと同じ UV レイアウトと解像度を共有するテクスチャです。テクスチャは現在の GPU で最大 4 チャンネルに制限されているため、テクセルあたり最大4 つのライトのオクルージョン情報を保存します。

Distance Shadowmask モードは Shadowmask ライティングモードの 1 つで、静的ゲームオブジェクトから動的ゲームオブジェクトに投影する高品質のシャドウを提供します。

Unity は シャドウディスタンス ( Edit > Project Settings > Quality > Shadows > Shadow Distance) の範囲で、動的および静的なゲームオブジェクト両方をシャドウマップにレンダリングし、静的ゲームオブジェクトが動的ゲームオブジェクトにはっきりしたシャドウを投影することを可能にします。つまり、Distance Shadowmask モードでは、シーン内のすべての静的ゲームオブジェクトがシャドウマップにレンダリングされるため、 Shadowmask モードよりも高いパフォーマンス要件を必要とします。

シャドウディスタンス の範囲を超えると以下のようになります。

  • 静的ゲームオブジェクトは、事前計算されたシャドウマスクによって、他の静的ゲームオブジェクトから高い解像度の影を受けます。
  • 動的ゲームオブジェクトは、 ライトプローブ によって、静的ゲームオブジェクトから低い解像度の影を受けます。

Distance Shadowmask モードの良い利用例は、地平線までシャドウを持つオープンワールドのシーンで、リアルタイムで複雑な静的メッシュから移動するキャラクターに影を投影するような場合です。

以下の表は、 Distance Shadowmask モードを使用するとき、静的ゲームオブジェクトと動的ゲームオブジェクトがどのように影を投げる/受けるかを示しています。

動的なオブジェクトが影を受ける
動的ゲームオブジェクトが他の静的/動的なゲームオブジェクトから影を受ける
静的なオブジェクトが影を受ける
静的ゲームオブジェクトが他の静的/動的なゲームオブジェクトから影を受ける
シャドウディスタンス範囲内 シャドウディスタンスを超える場合 シャドウディスタンス範囲内 シャドウディスタンスを超える場合
動的なオブジェクトが影を投影
動的ゲームオブジェクトから影を投げる
シャドウマップ - シャドウマップ -
静的なオブジェクトが影を投影
静的ゲームオブジェクトから影を投げる
シャドウマップ ライトプローブ シャドウマップ シャドウマスク

Distance Shadowmask モードの長所と短所

Distance Shadowmask モードのパフォーマンス要件は、ハイエンドの PC や現行世代のコンソール向けのビルドに適しています。 以下は、Distance Shadowmask モードを使用する際の最も重要な長所と短所です。

長所

  • リアルタイムライティング と同様のビジュアル効果を提供します。
  • 動的ゲームオブジェクトから静的ゲームオブジェクトに、そして、静的ゲームオブジェクトから動的ゲームオブジェクトにリアルタイムの影を作成します。
  • シェーダーの 1 つのテクスチャ操作で、静的ゲームオブジェクトのすべてのライトと影を処理します。
  • 自動的に動的および静的な影を合成します。
  • 間接ライトを提供します。

短所

  • 最多で 4 つの重複するライトしか使用できません (詳しくは、 混合ライティング) の「技術的な詳細」を参照) 。
  • ライトマップのテクスチャセットに関して、より高いメモリ要件を必要とします。
  • シャドウマスクテクスチャに関して、より高いメモリ要件を必要とします。
  • Unity は、静的なゲームオブジェクトからのライトと影をシャドウマップにレンダリングするため、より高いパフォーマンス要件を必要とします。

  • 2017–09–18 限られた 編集レビュー でパブリッシュされたページ

  • Light Modes、 5.6に追加

Shadowmask
Subtractive モード