広告
広告

Eevee の影生成アルゴリズムの VSM と ESM について

カテゴリ:blender

VSM と ESM はそれぞれ欠点がある。VSM は影の中に影が落ちると、影の輪郭が明るくなるライトブリーディングという欠点がある。なので背景のような、高さの異なる複数のオブジェクトが配置されるシーンでは VSM の使用を避けた方がいいだろう。

ESM は影に欠損ができることがあり、光が漏れやすいという欠点がある。

VSM の利点は ESM より大きなソフトシャドウが作れることだ。2018年2月の時点では光源の Soft で影の柔らかさを設定できる。

soft setting
影の柔らかさの設定

ESM と VSM を組み合わせた EVSM もしくは MSM(Moment Shadow Map)実装されれば、それが一番いいのだが。

Exponential Shadow Map(ESM)

ESM は影かどうかを0か1かで判定するのではなく、その境界を指数で補間する。補間に失敗して影に欠損が発生することがある。

cutout
オブジェクトの端にできた影の欠損

加えて VSM に比べて光が漏れやすい。

esm light leak
ESM
vsm light leak
VSM

光が漏れる場合は Contact Shadow にチェックを入れると改善される。しかし Contact Shadow は視点によっては表示されないことがあり、ちらつきが気になることがある。

contact shadow
Contact Shadow
flicker
Contact Shadow のちらつき

Variance Shadow Map(VSM)

VSM は影かどうかを0か1かで判定するのではなく、チェビシェフの不等式を使って確率的に求める。影が重なるところで、影の輪郭が明るくなるライトブリーディングが発生する。

light bleeding
影の中に影が落ちるとその輪郭が明るくなる

参考記事

中級グラフィックス入門~シャドウマッピング総まとめ~

カスケード シャドウ マップ

関連記事

Blender 記事の目次


広告
広告