background

ウォーターマーク

2016年12月25日(Sun)

よくDAZのサイトでプロモ画に"NVIDIA Iray"とか古いのだと"DAZ Studio render"とか入ってるのを見かけるけど、そういえばPoserにもそんなのがあったような気がするなあ、Superflyって入っているのを見かけた記憶があるなあ、とふと思った。あれって、自分で入れられるんだろうか。

というわけでGoogle先生に聞いてみた。トレードマークとかそんな単語で調べたら、「あれは透かし、英語でウォーターマークって呼ぶんですよ」と教えてくれた。その昔、紙の製造過程で濡れた状態の紙にプレスしてつけてたからとかなんとか。透けてなくても透かし。濡れてなくてもウォーターマーク。ふむふむ。

そんなわけで、RDNAのフォーラムにそれっぽいものを発見。

Watermark for your SuperFly Renders

使うときの注意事項とか書かれてないけど、自由に使っちゃっていいのかしらん。生レンダ限定とも書かれてない(ような気がする)けども。まあ、さすがにレタッチごりごりの絵に入れようとは思わないけどさ(笑)。

とりあえず使ってみた。クリックで倍サイズ。

161225

うん、なんか透かしが入ってるだけで上手くなった気がするよね! ←

Poser 11になってから、検証の時以外はほとんどFireflyを触っていない。以前のアイテムやキャラをレンダリングしてないからっていうのもあるんだけど、やっぱり「より説得力のある結果になる」というレベルから「今まで不可能だったことが可能になった」というレベルまで、いろんな点で描写力が格段に向上したのが一番の理由。今年の春に買った時点で国内ではあんまりいい評価を見なかったんだけど、実際使ってみたらビックリするぐらい夢というか可能性が広がったわけで……。まあ、昨年末?に発売された当初はホントに使いものにならなかったのかもしれないけども。

速度の面では、FireflyとSuperflyはどっこいどっこいかな、と思う。概ね単純なシーンはFireflyの方が若干早いけど、その分致命的なぐらい苦手とするシーンがあるのでなんとも言えない。自分はGPUレンダリングができない環境なので、CPUレンダリングでの話だけども。状況によって使い分ければいいんじゃないかな。って、毎回言ってるような気がする(笑)。

なんで唐突にこんな話題を上げたかというと、海外のフォーラムでウチのブログ記事を見た人が「SuperflyなのかFireflyなのか、生レンダなのかレタッチしてるのかわからんがな!」というツッコミを入れてたから。うん、ごめんなさい。基本的に文脈に頼りきりの書き方をしてるから、ネイティブじゃないと画像を見ただけじゃ分かり辛いよね。

そんなわけで、私は特に記述がない限りSuperflyレンダリングを使っています。

スポンサーサイト





続・Superflyで大気効果。

2016年12月18日(Sun)

前回の続き。せっかくだから、反射物のあるシーンでもなんちゃって大気効果を使えるようにする。まずは適当にシーンを作ってレンダリング比較。

161218-01

さすがに水面のマテリアルはそのままだと厳しいね。

Superfly(というか元々のCyclesレンダラ)の残念な点として、ディスプレイスメントを頂点単位でしかかけられないという制約が挙げられる。メッシュの粗い板ポリゴンに解像度の高いテクスチャを適用しても、ざっくりカクカクとした形状にしかならない。サブディビジョンをかければ多少は細かくなるものの、マシンパワー的に限度がある。ポリゴンをシェーディングレート単位でマイクロポリゴンに分割して変位をかけるという、Fireflyは結構優秀だったのだ。

まあ、ないものは仕方ないので、ここは素直にノーマルマップにでもしてしまおう。

161218-02

さくっとノードを足して、高さの情報を引っ張ってくる。こういう時、ルートノードを複数持てるのがいいよね。

161218-03

強度にいい加減な値を入れたままだから揺らぎ具合が合ってないけど、まあぐっと水面っぽくなったかな。そんなわけで前回作った大気レイヤーを近景と遠景のマテリアルに追加する。

161218-04

反射像を見やすくするために、一旦ノーマルマップを切断している。水面に反射している遠景の山が見た目よりハッキリ映ってしまっているのがわかる。

では、その条件分岐を行っている部分にノードをちょこっと足す。

161218-05

全体のノードの配置を変えちゃったからわかりにくいけど、実際に繋ぎ直したのはこの部分。

161218-06

今まで端折ってたのでざっくり書くと、LightPathノードは今計算しているレイについての情報を取得するノードだ。例えばIs Camera Rayなら、今計算しているレイがカメラから発せられたレイであれば1を出力し、そうでなければ0を出力する。つまりカメラに直接映っている時だけ1となる。反射像や屈折、間接光の計算をしている時は0になる。Is Reflection Rayなら、反射像の計算をしている時だけ1になる。これを数値演算ノードで他のノードと掛け合わせると、カメラに直接映るっている時だけあるマテリアルを適用し、それ以外の時は0のまま、というような計算ができるわけだ。

細かい説明はたぶん「Blender Cycles LightPath」あたりで検索すると見つかると思う。

数値演算ノードのMaxは、値1と値2に接続された値を比較して、どちらか高い方の値を採用する。1と0の組み合わせなら、どちらかもしくは両方が1の時1を出力し、両方とも0の時だけ0を出力する。つまり論理演算でいうAND回路の計算をするわけだ。一度に3つ以上の値を比較することはできないから、そういう時はノードを階段状に組み合わせる。これで「カメラに直接写っている時、または反射時か屈折率を持つ透過体の計算をしている時」だけ、効果を適用することができる。

なんでこんな手間をかけて条件分岐をつけるのかというと、二次反射光の計算など、大気の散乱の影響を受けてはいけないような時まで距離の計算を行うのを防ぐためだ。

161218-07

というわけでレンダリング。水面に映った反射像にも効果が適用されていることがわかる。

161218-08

水面のノーマルマップを再接続してこんな感じ。とりあえず満足。



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

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



ニットらしきマテリアル。

2016年12月11日(Sun)

レンダロでニット生地のテクスチャをフリー配布していたので、なんとなく落としてきた。

Prime Knits by Atenais Design (Renderosity)
https://www.renderosity.com/mod/freestuff/prime-knits/76760?AID=5124

開いてみたらシームレスでいい感じだったので、年賀状作りの逃避……もとい、手慰みにニットのマテリアルを組んでみた。以前作ったDCセーターに当てて、こんな感じ。

161211-1

いい加減なUV展開をしていたのがバレバレである(笑)。袖もマテリアル切ってなかったし……。ちなみにこのアイテム、テクスチャだけでなくマテリアルファイルも付属しているので、そのまま適用するだけでもちゃんと使える。元はこんな感じ。

161211-2

うん、あんまり変わってないように見えると言われれば、その通りかもしれない。

反射というのは入射光が反射面に平行になるほど、つまり斜めになるほど強くなる。いわゆるフレネル反射というやつである。SuperflyはPhysicalSurfaceノードならごく普通にフレネル反射を計算してくれる。

161211-3

とはいうものの、他のルートノードを使ったり、意図的にその効果を強調したい場合には、エッジブレンドや新しく追加されたフレネルブレンドを使うことになる。境界に近づくほど全反射に近くなるので、外側が白、内側が本来の色だ。

と、いうようなことを考えながら無計画に繋いでいったツリーがこちら。(クリックで倍)

161211-4

まあ正直、無駄もあるような、効率も悪いような……まあいいや。

ある程度汎用性を持たせたかったので、色を指定する部分を右側のシンプルカラーに分離して、網目の陰影をつけたり薄めたりみたいな小細工をしている。あと、シームレステクスチャを適用するときその繰り返し回数をいちいち計算してイメージマップノードに入力するのが面倒なので、数値演算ノードで指定するようにしてある。Poser 11の付属マテリアルでもやってる手法だ。

161211-5

パターンを5回繰り返すのでスケールは0.2、みたいな意味。

それから、バンプよりもエッジの効いた陰影をつけたかったので、グレースケールのテクスチャからバンプに繋がずにCycles>Vector>Bumpノードを使ってノーマルマップに変換している。ただしあまり強く変位をかけてしまうと陰影の現れ方が狂ってしまうので、レンダしながら値を調整。

161211-6

で、カラーバリエーションの生レンダ。

161211-7

なんかユニクロみたいだ。まあ、これで一冬越せると思えばいいか。





Menu

Profile

Kyotaro

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

Categories

Calendar

11 | 2016/12 | 01
- - - - 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非推奨。