Chapter 03

◽ Distance Field Shadow

ポコ太郎
ポコ太郎
2022.02.06に更新

公式ドキュメント

https://docs.unrealengine.com/4.27/ja/BuildingWorlds/LightingAndShadows/MeshDistanceFields/HowTo/DFHT_1/
https://docs.unrealengine.com/4.27/ja/BuildingWorlds/LightingAndShadows/RayTracedDistanceFieldShadowing/

特徴

  • 広大なフィールドで、Directional Light を使用して通常のカスケードシャドウマップよりも遠くまで影を生成できる
    • カスケードシャドウマップはカメラに近い領域に影を投影する
    • カスケードシャドウマップはシャドウの距離が延びるとシャドウマップにレンダリングするメッシュと三角ポリゴン数が増えるため負荷が急増する
    • カスケードシャドウマップディスタンスの値を超えるとディスタンスフィールドシャドウが使用される
    • カスケードシャドウマップで起こるライトリークが起こらない
  • 動的でソフトなシャドウを生成できる
    • 動的なライトからの動的なソフトエリアシャドウを生成
    • 品質はメッシュディスタンスフィールド用に生成されたボリュームテクスチャの解像度に大きく依存する
  • カスケードシャドウマップより 25 ~ 50% 高速
  • スケルトンメッシュアクターやアニメートされたメッシュアクターについては、いくつかの制限がある
  • リアルタイムディスタンスフィールドAOなど、他のディスタンスフィールドエフェクトと併用して使用する
  • アートやデザインのワークフローに影響を与え、プロジェクト単位で使用する

設定方法

Light での設定

パフォーマンス

  • Directional Light は光源の角度が大きい(地面に対して浅い?)ほど負荷が高くなる
    • 投影ポイントに対して考慮すべきオブジェクトが増えるから
  • ディスタンスフィールドシャドウの距離の値が大きくなるとカリング効率が低下する
  • Two-Sided Distance Field Generation を使用しているメッシュから投影すると負荷が高くなる
    • 投影したシャドウが完全な不透明にならないから(?)