2008年11月6日木曜日

blender - NodeHackの解説

さて、今回発見したHackについて。
コンポジットノードに入ってくる入力は、マテリアルノードを通過した画像(Image)や、AlphaやZを始めとした、レンダリングに使われる要素です。
しかし、マテリアルノードのOutputは、ImageとAlphaだけだし、コンポジットノードを使わなくても、普通にレンダリングできます。
これが何を意味しているかと言うと、コンポジットノードのImage以外の要素は、全てマテリアルノードの段階でレンダリング結果に反映する要素なんです。
だから、マテリアルノードでAlphaやZを変えれば、当然コンポジットノードに渡る、レンダリング済Imageも変わります。しかし、今回の方法を使うと、レンダリング済Imageに全く影響することなく、コンポジットノードに渡る要素を変更することが出来るのです。

まず、コンポジットノードだけ使用して、法線(Normal)だけ見ると、こんな感じで、赤緑っぽくなっています。


次に、マテリアルを追加して、マテリアルノードを使うようにします。ためしに法線に赤色をぶち込んでみましょう。

コンポジットノードの法線入力は赤色になりましたが、レンダリング結果が真っ黒になってしまいました。

そこで、マテリアルノード内のマテリアルを、Shif-Dで複製し、そちらの法線に繋げます。
・・・すると!!さっきと何も変わりません!!

しかししかし、マテリアルノードで、OutputのColorに繋いでいるほうのマテリアルを選択して、マテリアルパネルのこれを押してみてください。




なんと、レンダリング結果には、ちゃんとした法線が採用され、かつ、コンポジット入力の法線は、無理やりぶち込んだものになってしまいました。

----------------------------------------------------------------------------

実験編

マテリアル1つでも頂点カラーをぶち込んでみたりとか(11/6 14:50画像差し替え)


Front/Back突っ込んでみたり


と言う感じで、コンポジットノードの入力が広がります。
ViewVectorとかもいけるので、何か面白いことできるかもしれません。

エッジについては、Freestyleを使ったほうが良いです。
大事なことなので3回言いました

0 件のコメント: