カプセル シャドウ

物理アセットを使用した間接シャドウイングおよび直接シャドウイングにカプセル シャドウを使用する方法の概要です。

Windows
MacOS
Linux

Unreal Engine 4 (UE4) は、物理アセットのスケルタル メッシュのカプセル表現を用いた カプセル シャドウ を使用して、明るいエリアにいるキャラクターのソフト シャドウイングをサポートしています。このシャドウイング方法は、特に間接ライトで照らされている領域内で、ソフトなエリアシャドウを用いてキャラクターをシーンに固定します。これは、従来のシャドウ マッピング技術では不可能なものでした。

キャラクターをカプセルで描写する

物理アセット を使用すると、キャラクターに近似する描画を作成でき、非常にソフトなシャドウイングが作成できます。カプセルはキャラクターのボーンにアタッチされます。 そのため、 シーン内でシャドウを正確に移動させたり、キャストさせたりできます。

Character with Capsule Representation

Capsule Representation Only

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

使用方法

ShadowPhysicsAsset.png

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

カプセル シャドウ設定

CapsuleShadowSettings.png

プロパティ

説明

Capsule Direct Shadow

これを使用すると、カプセル描画がスケルタル メッシュのシャドウ物理アセット スロットに割り当てられているときに、直接 (可動) ライティングからのソフト シャドウイングが有効になります。

Capsule Indirect Shadow

これを使用すると、カプセル描画がスケルタル メッシュのシャドウ物理アセット スロットに割り当てられている場合、事前計算されたライティング (ライトマップとスカイライト) からのソフト シャドウイングが有効になります。

Capsule Indirect Shadow Min Visibility

これを使用すると、間接ライティング エリアのカプセル シャドウの暗さをアーティストが制御できるようになります。

Capsule Indirect Shadows

Capsule Indirect Shadow を有効にすると、ライティング ビルド中にライトマスによって配置および計算された volume lighting samples に基づいた指向性のある ソフト シャドウをキャストするためにキャラクターのカプセル描画が使用されます。Capsule Indirect Shadows を使うと、これらの領域でキャラクターの接地感を出すことができます。これは今までのシャドウ マッピングではうまく表現できませんでした。

CapsuleShadowsSetting2.png

[Capsule Indirect Shadow] が有効になっている場合、キャラクターは領域に接地可能なソフト シャドウをバウンス ライティングのみでキャストするようになります。

Capsule Indirect Shadow Enabled

Capsule Indirect Shadow Disabled

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

Indirect Capsule Shadows Enabled

Indirect Capsule Shadows Disabled

開口部から光が入る閉ざされた領域では、間接ライティング キャッシュを使用すると、 キャラクターが空間を移動するときに配置されたボリューム ライティング サンプル間を補間します。それにより、カプセル シャドウに対して指向性と柔らかさを付与できます。ドアの入り口では、キャラクターのシャドウはほとんど指向性がなく、 強度も低くなっていますが、キャラクターが入り口から離れるにつれて、シャドウの強度と指向性は増加していきます。

Indirect Minimum Shadow Visibility

Capsule Indirect Shadow Min Visibility を調整することで、更なる制御を行うことができます。これにより、事前に計算されたライティングを使用して、間接ライティング エリア内でカプセル シャドウの暗さの程度を調整できます。これらのライティング エリアのカプセルからのセルフ シャドウイングを減らしたり、シャドウの強度を弱めたりして、周囲のシャドウとうまくブレンドさせたいときに便利です。

Capsule Shadow Indirect Min Visibility: 0.1 (Default)

Capsule Shadow Indirect Min Visibility: 0.45

Capsule Direct Shadows

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

CapsuleShadowsSetting1.png

直接ライティングのカプセル シャドウは、非常に詳細な多角形のスケルタル メッシュをシャドウマップにレンダリングするのではなく、負荷の低いシャドウのスケーラビリティ オプションとして使用する必要があります。詳細については、「specific mobilities required for the light source (光源に必要な特定の可動性)」の下にあるセクションを直接参照してください。また、以下の「制限事項」セクションも参照してください。

Light Source Angle

指向性ライトの Light Source Angle プロパティを使用すると、太陽の角度を度単位で指定して、シャドウをソフトにすることができます。

Capsule Direct Shadow が有効な場合、このプロパティはすべてのライトの可動性 (スタティック、固定、可動) で機能します。

Light Source Angle: 1.0 (Default)

Light Source Angle: 2.0 |

Source Radius

スポット ライトとポイント ライトの場合、Source Radius は、光を放射する光源のサイズを設定します。光源が大きいほどシャドウは柔らかくなり、小さいほどくっきりします。

Capsule Direct Shadowing では、光源のモビリティ設定を [Stationary (固定)] に設定し、光源の Source Radius の効果が出る前にシーンのライティングをビルドする必要があります。

Source Radius: 5.0

Source Radius: 15.0

一度シーンのライティングをビルドしたら、ライティングを再ビルドしなくても 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 の使用は理にかなっています。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信