Blenderを使ってCGで雲を作ってみる その22

皆さんこんにちは、武田です。
雲が太陽の光を浴びて、大体白色で反射しているとすると、空気の間を長い距離通過すると青い光が散乱されて少なくなっていくはずです。
晴れた空が青く見えて、代わりに(長い距離通って青い光を失った)夕方の太陽が赤く見えるのと一緒ですね。
そんな感じになっている空の雲の写真が取れました。

なんだか遠くの方の雲ほど赤みが増していきます。
遠くほど赤くなる、とすれば良いのでしょうかね。
ただ、距離だけで考えてよいのか?
とよく考えてみると、低い角度ほど地表に近くて空気も濃いので、その分余計に影響が強いということも反映しそうです。
チョモランマぐらい(8000m)で、空気の濃さは1/3ぐらいになるそうですから、非常に背の高くて見上げる角度が高い雲は、遠くにあっても空気の影響が(薄いから)少ないかもしれません。
そんな効果を考えていくと、色味がリアルになるかな…とか考えています。

さて、前回は逆光の雲の感じを、ちゃんとしたボリュームレンダリングではなくサブサーフェススキャッタリングで代用してみても、なんだかそれらしく見える画面にすることができました。
もちろんふわふわした部分はメッシュで表現ができないので、テクスチャを貼った板ポリゴンを置いたりしたのですが、モクモクした積乱雲部分は行けそうです。

では、太陽を背に受けながら雲の写真を撮るように、カメラ側から照らされた順光の場合はどうでしょうか。 メッシュでもうまいことそれらしい表現をできるでしょうか?

いままでいろいろとボリュームなどで雲を表示したことで、雲の見た目には前方散乱気味の多重散乱が重要なことが分かっています。
太陽の光が雲の粒子にぶつかると、確率の問題ですが1回の散乱ではあまり180度跳ね返って太陽方向に戻ったりはしないで、少しだけ方向を変える程度のことが多いです。
密度が薄かったり、大きさがあまり大きくない雲であれば、大部分の光が反対側に抜けていきます。
しかし、雲が充分濃かったり大きかったりすると、何度も何度も中で光が散乱して太陽方向側にも光が戻ってきて、明るく反射している雲になるわけです。
背後に充分に明るい雲があると思い、(計算時間節約のために)明るい板を置いて「濃いボリューム球」「薄いボリューム球」「普通のメッシュの球」を置きました。
ボリューム球は、密度がすぱっと表面で切れるのではなく、徐々に密度が薄くなるように作成しました。

正面からカメラで撮ると…

薄いボリューム球は、太陽の光をカメラ側に反射ができず、しかも背後からの光も(前方散乱なのでカメラ側にかなり通すとはいえ)かなり遮ることになって、だいぶ暗く映っています。
明るい雲の手前にたなびいている小さな雲が、暗く見えることがある原因の一つです。
(単純に、別の雲の影になって暗いだけという場合も充分あります)
一方、濃いボリューム球は背後からの光は遮っても、自分が太陽の光を充分反射できるので中心部は明るいです。周囲が徐々に薄くなるので、輪郭部分が暗く見えるというのも特徴です。

余談ですが、背後の板をボリュームのすぐそばに寄せて配置をすると…

薄いボリュームの球が背後と一体化してほとんど見えなくなるのも面白い現象です。

先ほどは、背後の狭い領域にだけ明るい雲があって、そこからだけ背景光が来ていたわけですが、今回は背後の広範囲な角度から光がやってくるのでより明るくなっているわけですが…
考えてみれば大きな雲の表面に薄い雲の層があるのと同じような状況ですから、全部まとめて一塊の大きな雲として見えているのと一緒で、一体化して分からなくなる…という事なのだと思います。

ということで、輪郭が暗く見えやすいというのが順光側の特徴のようなので、それを再現してみます。
法線が、視線方向に対してまっすぐ垂直なのか、斜めにかすめるように見えているのかは、Fresnel や Layer Weight のノードで分かります。
斜めの時、つまり輪郭で黒に近づくような色になるシェーダーを設定します。
そして、もう一つ重要な要素である、強烈なサブサーフェススキャッタリングを効かせたシェーダーと、Mix Shader と混ぜ合わせてみます。
ところで、本当の雲は影になった部分も内部からの光の散乱で、真っ暗にはなっていません。
光の散乱をサブサーフェススキャッタリングで代用しているせいか、ちょっと影側が暗くなりすぎるようなので、少しだけ自発光を加えて調整してみます。
モクモクした雲のブロックで、これらの効果の割合を変えて、うまく雲の感じが出るように調整してみますが…

輪郭が暗くはなりますが、効果が分かるぐらいになると今度は形がはっきりしてしまうので、球の集合体であることがバレバレになってしまいました。
そこで、球の集合体からリメッシュをして形をならしてみたり、

こまかな凹凸を無視して、モクモクしたブロックが大まかに球だとみなしたカスタム法線を属性として保存して、本当の法線の代わりにこちらを使ってみるなどの工夫をしてみます。

陰影がもやもやした感じと、雲の輪郭が暗くなる傾向が両立するように色や混ぜ具合を調整してみると、それらしい雰囲気になってきました。

モクモクした雲ブロック1つだけではなく、前回の時と同じように雲の塊を作成してみると…
なかなか良い感じになりました。
このあたりは光源を明るくしたり暗くしたり、雲の明るさを調整したり、いろいろと試してみたのですが、レンダリング時に使う色空間も Standard ではなくて、Filmic や AgX を使った方が良い感じになるようです。
順光のモクモクした雲は、「すごく明るい被写体がうまく露光するように撮った写真」がレファレンスになるので、陰影のコントラストが写真っぽくなるような色空間の方が見た目が近くなる、ということでしょうか…

前回逆光に使ったシーンで、順光の場合にどうなるか確認してみます。

なかなか良い感じです。
もう少し、凝った感じになるように写真を参考にしながら雲の配置を頑張ってみると、このようになりました。

雲の底面や地面付近はちょっと怪しい感じで(基本モクモクしか表現できないですからね…)表現が荒いですが、悪くないように見えます。
もくもくした雲の部分は、モクモクした雲用のメッシュの配置でそれなりにうまく行くかもしれませんね。

しかし、雲らしい雲の形を配置するのも意外に大変です。具体的には細かなモクモクまで見えるように大量の球を配置しているので、やっぱり編集が重くなってきて…
マシンパワーが増せば、力業で快適になるのでしょうか?などと夢想しながら続きます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です