background

予習、もしくは復習。

2016年07月14日(Thu)

流転閑語、お話の続きを更新しておりますのでお楽しみください。

RutenKango

なんていうか、いよいよな感じ(笑)。


さて。

Poser 11でSuperflyレンダラを見据えたマテリアルの調整をしようとすると、どうしても疑問にぶつかる。Superflyレンダラとは一体どういうレンダラなのか? という点だ。

それは「SuperflyとはBlenderのレンダリングエンジンCyclesを改良した物理ベースの~」というところではなくて。まあそれはそれで大事で、Cylcesの接続を再現するためっぽいノードがごっそり追加されているのを見ても、いずれは目を通しておこうとは思うんだけど、とりあえずここで知りたいのは「ガンマ」とか「リニアなんちゃら」とかいうあのへんのことである。

何年か前にちょうど「リニアなんちゃら」が流行りだしたとき、それは物理的に正しいレンダリングを目指すものであり、最終的には「近似と感覚」で再現するしかないものだった。しかしそれによって、画像のガンマ値という概念がPoser界隈にやってきたのは確かな話だ。それから数年経った今、新しく実装されたレンダラではどのように扱われているのだろう。

というわけで実験。

160714-01

なんか懐かしいね(笑)。

小道具の四角を並べて拡散色を白にして(小道具のデフォルトの拡散色は完全な白ではないので注意)他の値は全部0、拡散値を0から1まで0.05刻みに増やして並べる。Superflyは拡散反射もきっちり他のオブジェクトに影響を与え合うので、背景や地面などは非表示にする。そしてライトを無限光1灯にして、色は白、強度は100%で真正面から当てる。

で、そのレンダリング結果をPhotoshopでカラープロファイルの割り当てをなしにして開き、スポイトツールで輝度を調べる。

160714-02

最初にランベルトさんが考えたように、もともとレンダリング結果というやつはカメラに届く「光の量」を表しているのであって、その光の量が人間の目に「どんな色に見えるか」を表しているのではなかった。光の量が白の50%であるとき、人間はそれを「ちょうど灰色(50%グレー)」ではなく「明るい灰色(70%ぐらい)」と認識する。ところが、ピクセルの輝度で表された「光の量」を私たちはまるで「人間の目に映る色」のように扱っていた。明るい歪みがかかった人間の目の世界よりも、物理的な光の量の世界は暗い。だからレンダリング結果はいつもなぜか暗いのだ。したがって旧来のレンダラでは「人間の目の歪み」を加えるという後処理が必要だった。それを「レンダラ内部でやりますよ、そのかわり使うテクスチャとか、ちゃんとガンマ値を考慮してね?」というのがリニアなんちゃらだ。

で、レンダリング結果。

160714-03

表にするのはちょっと大変だったのでグラフ。横軸が拡散値、縦軸がレンダ結果の輝度。

160714-04

プレビューレンダとFirefly・ガンマコレクションなしの結果はまあその通り。ガンマコレクションありの方は、ピンク色の線がxの1/2.2乗のカーブで、ちょうどガンマ値2.2の逆数のカーブがかかっているのがわかる。Superflyは同じように明るくなってるんだけど、なんでか2.2よりほんのちょっと暗い。で、拡散値が1を超えても出力結果が100%にならない。色飛びを抑えるために全体を0.98で掛けてるようにも見える。

とは言え、これでSuperflyレンダラはFireflyのガンマコレクション機能と同じように
レンダリング後に(ガンマ値2.1ぐらいの逆数の)明るい歪みをかけるレンダラである
ということがわかった。

さて、レンダリング後に明るい歪みをかけるリニアなんちゃらでは、レンダリング前に使用する画像ファイルに「暗い歪み」をかける。では、Superflyでは画像の扱いはどうなるのだろう。

ということで、こういうイメージマップを用意する。

160714-05

実はPhotoshopで作るグラデーションは完全な線形ではない。なので仕方なく鉛筆ツールで1ピクセルごとにRBGの値を1ずつ増やしていった。

いや暇じゃないのよ。

テクスチャ画像を読み込む時、テクスチャマネージャというダイアログが表示される。ここでレンダリング設定のガンマコレクションの値を使用するか、個別に指定するかを選択できる。

160714-06

なので、両方の場合について確認することになる。

比較対象は値ノードのuノード。

uノード及びvノードは、ジオメトリのUV値を参照するノードである。UV値の振られていない場所つまり頂点でないところは、その距離で補間される。これを基本小道具の片面の平面に接続すると、0から1まで線形に変化するグラデーションが得られる。

160714-07

まあこの時点でなんか「あ、はい」みたいな気持ちになっちゃうけど。

そんなこんなでまずは拡散色で比較。ガンマコレクション2.2で、画像に同じ値を設定したとき。

160714-08

ガンマコレクション機能を使用しないとき、グラデーションは線形になる。ガンマコレクション機能を使用すると、uノードのグラデーションは明るい方に歪み、ガンマ値2.2を指定した画像は歪まない。このガンマ値2.2とは、レンダリング前に暗い歪みをかける時の値である。暗く歪めてからレンダリングし、その結果を2.2の逆数で明るく歪める。なので元通りの線形に戻る。uノードの方は画像でなく単なる値なので、レンダリング前に暗く歪める処理が入らない。だからレンダリング後の明るい歪みだけが入り、結果、明るく歪むことになる。

画像のガンマ値に1.0を指定したとき。

160714-09

画像はuノードと同じ明るい歪みを見せる。逆に言うと、uノードはガンマ値1.0で固定、という解釈もできる。Superflyにはガンマコレクションを使わない、という選択肢はない。なので拡散色を指定するとき、その値はガンマ値2.1~2.2を意識することになる。まあ画像の場合、デフォルトの設定が「レンダ設定と同じにする」だから、ほとんど問題ないとは思うけど。

では次に、透明度に画像マップを指定する場合。ガンマコレクション機能が実装されたころに流行した薄毛症候群のアレである。拡散色は白、拡散値は1にして、グラデーションをそれぞれ透明度に接続する。

160714-10

しまった、縦向きだと比較しにくい。というわけで90度回転させてレンダリングする。

160714-11

Poserでは通常白い部分を不透明に、黒い部分を透明にレンダリングする。上の結果では、画像にガンマ値2.2を指定してガンマコレクションありでレンダリングしたFirefly、そしてSuperflyレンダでは本来意図したよりも多く透けていることがわかる。

レンダリング前にマップにガンマ値2.2の「暗い歪み」がかかっているために、中間部分がより暗く黒くなってしまうのだ。レンダリング後にかけられる「明るい歪み」は明るさに対してだけである。なので、失われてしまった毛髪……もとい、透明度が元に戻ることはない。

つまり、Superflyでも透明度マップはちゃんとガンマ値1.0を指定しよう、ということである。Fireflyで特にガンマコレクションを使ってこなかった、または意識してマテリアルを組んでなかった、という人は要注意かもしれない。

では最後に、バンプやディスプレイスメントについて。バンプだと結果がわかりにくいので、ディスプレイスメントを使う。Superflyではディスプレイスメントは最初から有効になっていて、オフにすることはできないっぽい。

160714-12

こんな感じで床に並べた平面にディスプレイスメントを設定、イメージしやすいように拡散色にも同じようにノードを接続している。白い部分で1m浮き上がっている。

で、これもレンダ。

160714-13

透明度とはちょっと違う結果になった。

まず、上段のFirefly・ガンマコレクションありの場合。ガンマ値2.2を指定した平面が曲面になっているのがわかる。レンダリング前に暗く歪められたことによって、凹型の曲線になったのだ。Fireflyでガンマコレクション機能を使う場合、バンプマップやディスプレイスメントマップもガンマ値1.0を指定しなければならなかった。

しかし下段のSuperflyを見ると、ガンマ値に2.2を指定したときと1.0を指定したとき、その変化量に違いがない。つまりSuperflyレンダラでは、バンプやディスプレイスメントに接続された画像ノードに対しては「ノードの設定にかかわらず、ガンマカーブを掛けない」という扱いになっているのがわかる。

透明度マップと異なり、バンプマップは古いアイテムだと拡散色マップを使い回しているものも結構ある。もしかしたらその対策なのかもしれない。

というわけで、以上のことをまとめてみる。

  • Superflyレンダラは、レンダリング後に明るい歪みをかけるレンダラである。
  • その歪みは約2.2の逆数であり、2.2よりちょっとだけ暗い。値は今の所変更できない。
  • 拡散色について、テクスチャ画像を使う場合、テクスチャマネージャで「レンダ設定と同じガンマ値」を指定しておけば特に歪みを意識する必要はない。
  • しかし、画像ではなく値を指定するような場合は、レンダ後の歪みを考慮して暗い値を設定する必要がある。
  • 透明度にテクスチャ画像を使う場合、テクスチャマネージャでガンマ値1.0を指定する。
  • バンプやディスプレイスメントに画像を使う場合、ガンマ値の指定は無視されるので設定しなくても構わない。ただし、Fireflyのガンマコレクション機能との互換を考えるなら、1.0を指定した方がいい。拡散色マップと共用の場合は「レンダ設定と同じガンマ値」にしておく。

という結果になった。ただしこれは、あくまで「今のPoserの状態」つまりPoser 11 SR4の場合だ。もしかしたら今後のバージョンでちょっとした修正が入って、透明度マップでも設定を無視したりとか、そういう仕様になる可能性は皆無とは言えない。

また、環境値や鏡面反射についてはどうなんだっていう話もあるけど、鏡面反射は根本から別物になってるのでここでは割愛することにする。いやめんどくさいからとか、決してそういうわけじゃ……(墓穴)。

まあ結局、ガンマ値はちゃんと設定しようね、ってことかな。

160714-14

そろそろ調整に戻らないと。



Comments

ぶは。

なんだかものっすごく懐かしい検証実験に、今西暦何年?2007年くらい?とか思いを馳せつつ、あ、違うわなんか内容さらに高度になっとるわ。

みたいな?

とりあえずあたくしが色々設定しなおしてSuperflyレンダラ~を試すのは相当後の話になりそうです。2017年くらいかな?(おい)

とかそういう感想はテカりながら震えてる人の画像でどうでも良くなりました。カワイイ。
えー? 体温調整なんか魔法でちょちょいのチョイなんじゃないんですかあー?

Name
rose #4SZw2tfw
Site
URL
Post Date
2016-07-15
Post Hour
01:34:59

Edit

いやー。

>roseさん
基本ほら、暑い寒いとか、お腹すいたとかは耐えなきゃいけない身分の人だから……(笑)。その割には服よこせとかいう主張はするようですが。

roseさんも体当たりでsuperflyに行きませんか、死なば諸共(違う
なんか何年経ってもやってることが変わらない感じがしますねえ。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2016-07-15
Post Hour
19:32:06

Edit

早速!

先ほど新フィギュアのモミリータをアップして、此処を見たらガンマ値の解説が!
そうか、バンプマップには1.0を指定した方が良いのか・・・
Fireflyはまだまだ使うし、と言う訳でガンマ値1にして再アップしました。
本当はバンプ値を一から見直さないとイケないのだけど、元々確信を持って決めた値でもなかったし、チョコチョコと確かめて・・・ゴニョゴニョ(^^ゞ

ああ、何もかもなつ・・・おっとしつこい(^^ゞ
とは言えroseさんではありませんが、あの懐かしい検証画面が見られて嬉しく成りました。
よくもまあ之だけの検証方を考えつかれるものだなとか。
superflyは実際使ってみて、色々気が付いた事や疑問点が出て来ました。
おいおい質問さていただきたいと思っています。

Name
sannzi #u2lyCPR2
Site
URL
Post Date
2016-07-15
Post Hour
22:19:01

Edit

お疲れ様でした~

>sannziさん
バンプの値は、こだわる方は物足りないなと感じたら自分で調整されると思うので、そんなに影響はないとは思いますが……確かに先に設定しておいた方が親切ですね。もうちょっと早く記事をあげてられてたら良かったのですが(汗
それにしてもモミリータちゃんのリリース、お疲れ様でした! 早速ダウンロードさせていただきました。いやー、大作ですね~! ぜひ遊ばせていただきたいと思います。

検証、なんだか色々レンダしたわりには、まだ簡単な結論しか書けてない気がします。まとめると一行になっちゃうあたりが(笑)。
Superfly、どうやら色々変わってるみたいですね~。果たしてsannziさんの質問に答えられるかどうか、不安なところですが、お手柔らかにお願いします(^^;

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2016-07-16
Post Hour
12:04:36

Edit

Post Comment

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


Trackback

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

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/512-12e167fe



Menu

Profile

Kyotaro

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

Categories

Calendar

10 | 2023/11 | 12
- - - 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 - -

Comments

Archives

Track back

RSS feed

Links

Search

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

※Internet Explorer非推奨。