Language:
Page Info
Engine Version:

動的シーン シャドウ

Dynamic Scene Shadows Content Example マップでは、指向性ライト アクタ と併用するシャドウイング メソッドの カスケード シャドウ マップ を使用をして、ベイクしたライティングで動的シャドウのエフェクトを作成する方法を説明します。 より現実的なシーンを作り出す風に揺れる木に茂った葉など、動的オブジェクトのシャドウイングを有効にするため、ベイクしたシャドウよりも優れています。

カスケード シャドウ マップの操作

カスケード シャドウ マップ メソッド は、視錐台を距離に基づいて一連のシャドウ カスケードに分割します。各カスケードは、ユーザーがカメラから遠ざかるにつれて、徐々に解像度が低くなります。 つまり、プレイヤーのビューに最も近いシャドウの解像度が最も高く、最も遠いたシャドウは一番低くなります。 Dynamic Shadow Distance プロパティの範囲を超えると、静的にベイクされたシャドウへシステムが再度ブレンドされます。これにより、ベイクしたライティングでシーンを取り込むことができて、オブジェクトから遠ざかるにつれて静的にベイクされたシャドウへと滑らかに遷移することができます。

CascadedShadowMapsImage.png

上記の画像で、黄色い線付近で動的シャドウ (カメラ最寄り) が徐々に消えていくのが分かります。これは動的シャドウの距離の設定に使用します。

  1. スタティック シャドウを表示した領域

  2. カスケード シャドウ マップを表示したカメラにより近い領域

カスケード シャドウ マップのプロパティ

Directional Light アクタ (指向性ライトアクタ) の [Details (詳細)] パネルに、 Cascaded Shadow Map カテゴリがあります。カテゴリ内には以下のプロパティがあります。

プロパティ

説明

Dynamic Shadow Distance (MovableLight と StationaryLight)

カスケード シャドウ マップが見えるカメラからの距離をコントロールします。これより先は、事前計算されたシャドウマップのみが見えます。設定を 0 にすると動的シャドウを効果的に無効にします。Movable Light (可動ライト) と Stationary Light (固定ライト) には設定項目があることに留意してください。

Dynamic Shadow Cascades

動的シャドウの距離を分割するカスケードのセクション数を調節します。レベルを追加すると、離れた場所のシャドウ解像度が良くなりますが、パフォーマンス負荷は大きくなります。

Cascade Distribution Exponent

カメラがカスケード間をどのくらいの近さで遷移するかを調節します。値は、 Dynamic Shadow Distance の割合で適用されます。値を 1 にすると、解像度に比例した距離で遷移します。値が 1 以上になると、遷移がカメラに近づきます。

Cascade Transition Fraction

あるカスケードから次のカスケードへフェードする割合を調節します。値が 0 に近づくと、遷移がスムーズではなくなります。値が 0 の場合、遷移せず、カスケード間にハードエッジが生じます。

Shadow Distance Fadeout Fraction

カスケード シャドウマップへの遷移を全体的に滑らかにします。値が 0 だと引っ掛かりのある遷移となり、値が 1 だと非常に滑らかに繊維します。値 0.1 で通常しっかり動作します。この値ではパフォーマンス負荷はかかりません。

Use Inset Shadows for Movable Objects

stationary light (固定ライト) でlit (ライティング有り)する可動オブジェクトに使用するはめ込みシャドウを有効にするオプションです。可動オブジェクトが Dynamic Shadow Distance の範囲を超えて移動する際、特に Dynamic Shadow Distance に低値を設定している時に有用です。Dynamic Shadow Distance が広範囲時 (現時点では 8000 を超える) 場合、このオプションは強制的にオフとなります。