Unreal Engine は、物理アセットのスケルタル メッシュのカプセル表現を用いた カプセル シャドウ を使用して、明るいエリアにいるキャラクターのソフト シャドウイングをサポートしています。このシャドウイング方法は、特に間接ライトで照らされている領域内で、ソフトなエリアシャドウを用いてキャラクターをシーンに固定します。これは、従来のシャドウ マッピング技術では不可能なものでした。
キャラクターをカプセルで描写する
物理アセット を使用すると、キャラクターに近似する描画を作成でき、非常にソフトなシャドウイングが作成できます。カプセルはキャラクターのボーンにアタッチされます。 そのため、 シーン内でシャドウを正確に移動させたり、キャストさせたりできます。


物理アセット ビューポートの地面影は、カプセル シャドウで描画されていません。
使用方法

スケルタルメッシュを開き、[Asset Details (アセットの詳細)] パネルの [Shadow Physics Asset] 選択を使ってカプセル シャドウに使う物理アセットを割り当てます。
カプセル シャドウ設定

プロパティ | 説明 |
---|---|
Capsule Direct Shadow | これを使用すると、カプセル描画がスケルタル メッシュのシャドウ物理アセット スロットに割り当てられているときに、直接 (可動) ライティングからのソフト シャドウイングが有効になります。 |
Capsule Indirect Shadow | これを使用すると、カプセル描画がスケルタル メッシュのシャドウ物理アセット スロットに割り当てられている場合、事前計算されたライティング (ライトマップとスカイライト) からのソフト シャドウイングが有効になります。 |
Capsule Indirect Shadow Min Visibility | これを使用すると、間接ライトで照らされている領域のカプセル シャドウの暗さをアーティストが制御できるようになります。 |
Capsule Indirect Shadows
Capsule Indirect Shadow を有効にすると、ライティング ビルド中にライトマスによって配置および計算された volume lighting samples に基づいた指向性のある ソフト シャドウをキャストするためにキャラクターのカプセル描画が使用されます。Capsule Indirect Shadows を使うと、これらの領域でキャラクターの接地感を出すことができます。これは今までのシャドウ マッピングではうまく表現できませんでした。

Capsule Indirect Shadow を有効にすると、キャラクターは領域に接地可能なソフト シャドウのバウンス ライティングのみの領域にキャラクターを接地させるソフトシャドウをキャストします。


光源がスカイ ライトのみのオープンな領域ではあらゆる方向から光が差し込むため、指向性はほとんどありません。これにより、事前計算されたライティングを使用した時に キャラクターの下にわずかな柔らかい「ぼんやりとした」シャドウが生成されます。


開口部から光が入る閉ざされた領域で 間接ライティング キャッシュを使用すると、 キャラクターが空間を移動するときに配置されたボリューム ライティング サンプル間を補間します。それにより、カプセル シャドウに対して指向性と柔らかさを付与できます。ドアの入り口では、キャラクターのシャドウはほとんど指向性がなく、 強度も低くなっていますが、キャラクターが入り口から離れるにつれて、シャドウの強度と指向性は増加していきます。
Indirect Minimum Shadow Visibility
Capsule Indirect Shadow Min Visibility を調整することで、更なる制御を行うことができます。これにより、事前に計算されたライティングを使用して、間接ライティング エリア内でカプセル シャドウの暗さの程度を調整できます。これらのライティング エリアのカプセルからのセルフ シャドウイングを減らしたり、シャドウの強度を弱めたりして、周囲のシャドウとうまくブレンドさせたいときに便利です。


Capsule Direct Shadows
光源で Capsule Direct Shadow を有効にすると、光の角度または光源のサイズに基づいて、受光面のシャドウ キャスタに対するエリアシャドウの柔らかさを定義できます。

直接ライティングのカプセル シャドウは、非常に詳細な多角形のスケルタル メッシュをシャドウマップにレンダリングするのではなく、負荷の低いシャドウのスケーラビリティ オプションとして使用する必要があります。詳細については、「specific mobilities required for the light source (光源に必要な特定の可動性)」の下にあるセクションを直接参照してください。また、以下の「制限事項」セクションも参照してください。
Light Source Angle
指向性ライトの Light Source Angle プロパティを使用すると、太陽の角度を度単位で指定して、シャドウをソフトにすることができます。
Capsule Direct Shadow が有効な場合、このプロパティはすべてのライトの可動性 (スタティック、固定、可動) で機能します。


Source Radius
スポット ライトとポイント ライトの場合、Source Radius は、光を放射する光源のサイズを設定します。光源が大きいほどシャドウは柔らかくなり、小さいほど鮮明になります。
Capsule Direct Shadowing では、光源のモビリティ設定を [Stationary (固定)] に設定し、光源の Source Radius の効果が出る前にシーンのライティングを作成する必要があります。


一度シーンのライティングをビルドしたら、ライティングを再度作成しなくても Source Radius プロパティが調整できるようになります。このプロパティは、カプセル シャドウ、もしくはメッシュ ディスタンス フィールドが有効にされているムーバブルなアクタのみに影響します。
パフォーマンス
カプセル シャドウの GPU パフォーマンス負荷は、使用されるカプセルの数、文字の数、およびシャドウが影響する画面サイズに比例します。
例えば、Radeon (AMD 社による) 7870、1080p の場合、
10 カプセルの場合の GPU 負荷 | ミリ秒 (ms) |
---|---|
画面上のキャラクターが 1 つの場合 | 0.29 ms |
画面上に 1 つキャラクターを追加するごとに | 0.05 ms |
このカプセル シャドウの実装は非常に効率的です。深度を意識したアップサンプルを使って半分の解像度でシャドウイングを計算し、スクリーン タイル カリングを使ってシャドウイング量を減らします。
制限事項
- コンピュート シェーダによりスタイリングしたディファード実装のため、DirectX 11 が必要となります。
- 可動のポイント ライトとスポット ライトは現在サポートされていません。
- 任意のメッシュ形状に対してセルフシャドウによるアーティファクトが発生する可能性があります。
- カプセル描画には、Sphylls と Spheres (球体) のみを使用できます。
- カプセル シャドウが非常に柔らかくなり、アンビエントオクルージョンになると、シャドウイング内にアーティファクトが発生し、ハードラインが発生します。
- シーン全体のシャドウから 1 つのオブジェクトを削除し、オブジェクトごとにシャドウを実行するのにコストがかかるため、可動なポイント ライトとスポット ライトはサポートされていません。固定ライトは、常にオブジェクトごとに実行されるシャドウ メソッドを使用するので、シャドウ レンダリングを高速化する Capsule Direct Shadow の使用は理にかなっています。