パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング シャドウカスケード〜

シャドウカスケード
シャドウ カスケードは、指向性ライトがカメラの近くにあるときに、ディレクショナル ライトからのリアルタイム シャドウがピクセル化されて見える、パースペクティブ エイリアシングと呼ばれる問題の解決に役立ちます。

シャドウ カスケードはディレクショナル ライトでのみ機能します。

遠近感のエイリアシング

通常、指向性ライトは太陽光をシミュレートし、単一の指向性ライトでシーン全体を照らすことができます。これは、シャドウ マップがシーンの大部分をカバーすることを意味し、パースペクティブ エイリアシングと呼ばれる問題が発生する可能性があります。パースペクティブ エイリアシングは、カメラに近いシャドウ マップ ピクセルが、遠くにあるピクセルに比べて拡大され、分厚く見えることを意味します。

遠くにある影 (A) には適切な解像度がありますが、カメラに近い影 (B) には遠近感のエイリアシングが表示されます。

遠近感のエイリアシングは、シャドウ マップのさまざまな領域がカメラの遠近感によって不釣り合いにスケーリングされるために発生します。ライトからのシャドウ マップは、カメラに表示されるシーンの部分のみをカバーする必要があります。これは、カメラの視錐台によって定義されます。指向性光が真上から来る単純なケースを想像すると、錐台とシャドウ マップの関係がわかります。

この単純化された例では、錐台の遠端は 20 ピクセルのシャドウ マップでカバーされていますが、近端は 4 ピクセルだけでカバーされています。ただし、画面上では両端が同じサイズで表示されます。その結果、カメラに近い影の領域ではマップの解像度が実質的に大幅に低くなります。

シャドウ カスケードの仕組み

ソフト シャドウを使用したり、シャドウ マップの解像度を高くすると、遠近感のエイリアシングが目立ちにくくなります。ただし、これらのソリューションはレンダリング中により多くのメモリと帯域幅を使用します。

シャドウ カスケードを使用する場合、Unity はカメラからの距離に基づいて錐台領域を 2 つのゾーンに分割します。近端のゾーンは、サイズを縮小した (ただし解像度は同じ) 別のシャドウ マップを使用します。シャドウ マップ サイズのこのような段階的な縮小は、カスケード シャドウ マップ (並列分割シャドウ マップとも呼ばれます) として知られています。

シャドウ カスケードの使用

プロジェクトでシャドウ カスケードを構成する場合、0、2、または 4 つのカスケードを使用することを選択できます。 Unity は、カメラの錐台内のカスケードの位置を計算します。

使用するカスケードが多いほど、遠近法エイリアシングによるシャドウの影響が少なくなります。数値を増やすと、レンダリングのオーバーヘッドが増加します。ただし、このオーバーヘッドは、シャドウ全体にわたって高解像度のマップを使用する場合よりも少なくなります。

4 つのカスケードを使用した前の例のシャドウ

組み込みのレンダー パイプラインで、プロジェクトの品質設定の品質レベル プロパティごとにシャドウ カスケードを構成します。

ユニバーサル レンダー パイプライン (URP) で、ユニバーサル レンダー パイプライン アセットのシャドウ カスケードを構成します。

高解像度レンダー パイプライン (HDRP) で、ボリュームごとにシャドウ カスケードを構成します。

    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング シャドウカスケード〜
  • 場所:オンラインゲーム
  • 料金:¥0 (消費税込)