2006年12月12日
磨りガラスやってみた modo 202
さて、今回のお題は磨りガラスだ。スクリプトじゃなくてシェーダーの話。某掲示板で話題に上っていたのでちょっと考えてみた。いろいろ調べてみたけど確かにmodoには反射にぼかしがあって、透過にぼかしが無いようだ。そこで現実に戻って考えてみると、磨りガラスの原理はガラスの表面をものすごく微細に凹凸を付ける事で透過する像がボケ、照射される光は乱反射して白っぽく見えるわけだ。要は表面の細かい凸凹以外は普通のガラスな訳だ。そこでここは愚直に表面に凸凹を付けてみようと思い立った。そこで薄い立方体を用意して透過を85%くらいにして片面だけノイズでバンプを付けてみた。ノイズは細かくなるようにTextureLocaterでサイズを小さくした。結果はこんな感じ。
うーむ。磨りガラス感は出ているけどちょっと目が粗いノイジーな仕上がりになってしまった。そこでノイズのサイズをもっと小さくしてみたが、あまり変化は無かった。と言うことは、サンプリングの問題なのだろうと思って、レンダ−の設定タブ内のリファインメントシェーディング率を0.1に、リファインメント閾値を1%にしてみた。リファインメントシェーディング率は各ピクセルをどこまで細かくサンプリングするかを設定するもので、マニュアルによると0.5で1ピクセルを2×2=4分割するらしいので0.1なら10×10で100分割してサンプリングするようになり、より精度の高いレンダリングが可能になるはず。リファインメント閾値はコントラストの許容値で、これが小さければコントラストの差が許容されないわけだから滑らかになるだろうという目論見だ。
結果はこんな感じ。レンダリング時間が増えて行くけど、前の結果よりはマシになった。リファインメントなんたらは画面全部にかかってしまうので、レンダリングの効率を上げるなら、磨りガラスのところだけ部分レンダリングするのがいいかもね。でも、こうやって精度を追求するのはしんどいので、ある程度の結果が出たらPhotoshopに持ち込んでぼかしをかけたほうが手っ取り早そうだ。
それがこれ。たぶんもっといい方法があるんだろうけど、自分の知識で出来るのはこの程度かな。
だいぶあちこち弄り回したのでちょっとずつ変な設定が残ってるかも知れないけど、とりあえずシーンファイルをアップしておいたので興味がある人は見てみてくれ。背景のHDR画像は添付できないので消してある。でもこういう表現は本当はどうするのが一番なんだろうね。
それではまた次回。
スクリプトまとめページ( Down Load はこちらから) カテゴリー別ページ

