background

Superflyで大気効果。

2016年12月16日(Fri)

DAZから「RuntimeDNA移籍アイテムの一部がタダになるクーポンをあげるよ」というメールが何度か来たので、結局買わずに済ませようと思っていたTerraDome2を貰ってしまった。ついでに「15日で店じまいだよ」という本家RuntimeDNAでも関連製品をちょろっと買う。っていうか、いつの間にかストア閉鎖みたいなことになっていたのね。未だにそのあたりの時期のメールが発掘できてないので……いい加減なんとかしないと(汗)。

161216-01

そんなわけでインストールして動作確認。スクリプト系のアイテムもちゃんと動いたので一安心。

Skydomeが全天対応じゃない……というか均等なUV展開じゃなかったのが気になったけど、パノラマHDRも貼れないことはなかったので良しとしておこう。気が向いたらジオメトリを自作して差し替えるかもしれない。Skydomeはモーフいらないし。

で、マテリアルファイルにAtmosphereがあるのを見て、「そういやSuperflyは大気ノードの描画に対応していないんだっけ」と思い出した。

でも、SuperflyはVolumeレンダリングに対応してるから、要らないと言えば要らないんだよね。

161216-02

つまりこういうこと。大気の役割を持つ適当なオブジェクトを配置して、Volumeノードを接続すればいい。この場合なら箱の水平方向の大きさは1000倍(10万%)、高さはお好みで。

161216-03

適用したマテリアル。これなら見た目で高さを調整できるし、要らないときは小道具を非表示にすればいいし、デフォルト画質ならレンダも結構早いから調整も楽だし、大気ノードで色々調整するよりは手軽なんじゃないかな。

161216-04

で、晴れた空のMATを適用してちょっと気になった。大気やVolumeノードを使うと、Skydomeの部分にまで霞がかかってしまう。霧や靄、大気中のチリで霞むような効果なら構わないんだけど、晴れた日に遠くが青く霞むような効果をつけたい時には、これでは少し困る。

空の青さは太陽光が大気中で散乱した結果、より短い波長の光の方がより多く散乱するために、ああいう色に見えているはずである。大気の薄い高山では、地表にたどり着くまでに太陽光が十分に散乱しないので、天頂の色は藍色に近い。逆に海抜の低いところ、あるいは水平方向に近い空は、大気の層も厚くなって波長の長い光も十分に散乱するので白っぽい。散乱してその色に見えているのに、そこにさらに色を重ねてしまうと、大気の距離による散乱効果を二重にかけたことになってしまう。

解決方法は二つある。一つはSkydomeを非表示にして背景で空の色を表示させることだ。大気の効果は背景には描画されない。しかし、オブジェクトとして存在していないということは、今度は水面の反射や天空光にも反映されなくなってしまう。背景ノードにパノラマ画像を接続する方法もあるんだけど、ちょっとめんどくさい。

というわけでもう一つの方法。近景と遠景のマテリアルそのものに、大気効果を描画する。

以前、カメラからの距離に応じて変化する散乱光の計算式を立てた。今回はそれを流用してシェーダを組み立てることにする。

161216-05

まずは近景や遠景のマテリアルを選択して、レイヤーを追加する。

161216-06

こんな感じのシェーダを組んで、(クリックででかサイズ)

161216-07

こんな感じに接続する。

霞の色をした環境光成分を元のマテリアルの上に重ねておき、距離が大きくなるほど透明度を下げて表示するのだ。レイヤーだから下のテクスチャには影響しない。また、Fireflyでは(今のところ)レイヤーを描画できないので、そのままでも大気ノードを描画できないSuperflyと共存できる。

で、大気効果のレイヤーのノードをまるっと選択したら、

161216-08

選択した部分のノードだけをライブラリに保存する。

別のマテリアルに適用するときは、目的のマテリアルにレイヤーを追加して、追加したレイヤーのルートノードを選択。入れ替えでマテリアルを適用すると、下層のレイヤーには影響を与えずにノードを追加することができる。

161216-09

この方法のメリットは、マテリアルごとに適用やパラメータを選択できること。デメリットはマテリアルごとに適用したりパラメータを選択しなければいけないこと(笑)。遠景にアイテムを多数配置するようになると大変かもしれない。あと、今の構成だと直接カメラに映る部分しか効果を重ねていないので、例えば鏡やガラスを通して見た景色には反映されない。そのへんは条件分岐をもうちょっと煮詰める必要があるかな。

161216-10

まあ、即席にしては悪くないんじゃないかな。



Comments

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/538-c9a47dda



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。