パルテア

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


影は、平坦に見えるオブジェクトのスケールと位置を際立たせるため、シーンにある程度の奥行きとリアリズムを加えます。 Unity では、ライトはゲームオブジェクトからそれ自体の他の部分、または近くのゲームオブジェクトに影をキャストできます。

シャドウマッピング
Unity は、シャドウ マッピングと呼ばれる技術を使用して、リアルタイムの影をレンダリングします。

シャドウマッピングの仕組み

シャドウ マッピングでは、シャドウ マップと呼ばれるテクスチャが使用されます。シャドウ マップは深度テクスチャに似ています。ライトは、カメラが深度テクスチャを生成する方法と同様の方法でシャドウ マップを生成します。ライトと同じ場所にカメラがあると想像すると、カメラが見ることができないシーンの領域は、ライトからの光線が到達できないシーンの領域と同じになります。したがって、それらは影にあります。

Unity は、ライトからの光線がサーフェスに当たる前にどのくらいの距離を移動するかに関する情報をシャドウ マップに入力し、シャドウ マップをサンプリングして、ライトが当たるゲームオブジェクトのリアルタイムのシャドウを計算します。

シャドウ マッピングの詳細については、Wikipedia のシャドウ マッピング ページを参照してください。

シャドウマップ解像度

シャドウ マップの解像度を計算するには、Unity で次のようにします。

ライトが照らすことができる画面ビューの領域を決定します。指向性ライトの場合、画面全体を照らすことができます。スポット ライトとポイント ライトの場合、エリアはライトの範囲の形状を画面上に投影したものです。ポイント ライトの場合は球、スポット ライトの場合は円錐となります。投影された形状は、画面上でピクセル単位の幅と高さを持ちます。これら 2 つの値のうち大きい方が採用されます。この値はライトのピクセル サイズと呼ばれます。
シャドウ品質の乗数を決定します。 Unity はこれにシャドウ解像度設定を使用します。これは [品質設定] ウィンドウで設定されます)。品質設定は次の値に対応します。

非常に高い: 1.0
高: 0.5
中: 0.25
低: 0.125
次の計算を実行し、結果を最大サイズにクランプします。

ポイント ライトはシャドウにキューブマップを使用するため、他のタイプよりもサイズの制限が低くなります。これは、6 つのキューブマップが存在することを意味します。
この解像度の顔を一度にビデオ メモリに保存する必要があります。また、潜在的なシャドウ キャスターを 6 つのキューブマップ面すべてにレンダリングする必要がある可能性があるため、レンダリングにかなりのコストがかかります。

シャドウ マップの解像度をオーバーライドする

組み込みのレンダー パイプラインでは、Light.shadowCustomResolution プロパティを 0 より大きい値に設定することで、ライトのシャドウ マップの解像度を設定できます。この値が 0 より大きい場合、Unity はすべてのライト タイプに対して次の計算を実行します。

NextPowerOfTwo (shadowCustomResolution)

次に、上の表に示すように、ライトのタイプとハードウェアに基づいて最大解像度を固定します。

レンダー パイプライン全体でのシャドウ マッピングのサポートの詳細については、「レンダー パイプラインの機能の比較」を参照してください。



    Course

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