(約 1,700文字の記事です。)
こちらの記事の抜粋です。
カスケードシャドウマップとディスタンスフィールドシャドウ
いっぱいテストした結果、良く身に付いた(笑)
カスケードシャドウマップは、要するに段階的に影の解像度を遠距離になるごとに落とす手法。で、ある程度離れるとばっさりと消える仕様にもなるので、それは不自然で困る。というわけで急に消えないようにダミーの影に差し替えるってのがディスタンスフィールドシャドウ。
ではこの両者がどう違うかというと、樹木が風でそよいでいるときの影の挙動が違う。
ディレクショナルライトが、ステーショナリーでもムーバブルでも、影はきちんと動いてくれる。
カスケードシャドウマップ=動く
カスケードシャドウマップは、メッシュが動く場合にはきちんと揺れる影を作れる。その解像度が変わる(カスケード切替えされる)けれど、全てのカスケード表示中にもきちんと揺れている。
ディスタンスフィールドシャドウ=適当な固定影
対してディスタンスフィールドシャドウは、かなり適当な固定的な影。揺れない。だが、カメラがかなり遠ざかった遠景では影の揺れなど誰にも見えない。なので固定的な影が全部の構造物の側にできてさえいればそれでいい、という考え方。
ミックスの妙技
なので、かなり遠い遠景から被写体にカメラが近づくと、まずはディスタンスフィールドシャドウによる粒のような不動の影が生成され、徐々に近づくにつれてモワッとこっそりカスケードシャドウマップの荒いバージョンに切り替わり、影が揺れ始める。
ズームインしていくと徐々に葉っぱ一枚一枚がいつの間にかくっきりと見える様になり(カスケードシャドウマップの高解像度版)、それらがくっきり見える状態でストップです。
HDでご覧下さい。可能であれば0.5倍速でじっくり観察するのが宜しいかと。(動画を作る段階でスローにしろという突っ込みは無しでお願いします(笑))
詳細は公式チュートリアルをやれば分かります。というか動画で説明されています。
これもみんな、ハードウェア資源を節約しながらリアルタイムで演算するための工夫。
実例
↓ディスタンスフィールドシャドウ
↓ディスタンスフィールドシャドウ
↓以降はカスケードシャドウマップ(画面右の小さな植物では両者が微妙に混在しているのがわかる)
最後の1枚が、カスケードシャドウマップの段差がよく分かるかな。もちろん設定でこの段差が起こらない範囲も調整できる。が、今回はわざと。
今回の創作活動は約15分(累積 約1,507時間)
(539回目のブログ更新)