株式会社コロッサスへようこそ

menu

Colossus Studios

アーノルドレンダー検証 その5

CG制作をお仕事にしていると、食事の時間が不規則になりがちです。


制作に没頭しているとあっという間に12時を過ぎてしまいます。一斉にお昼休みをとるような会社ならいいのですが、CGプロダクションは各自の裁量に任されている場合がほとんどなので、ランチタイムの時間を逃してしまい、お得なランチメニューを食べられないことが多々あります。
それでもよく探せば、遅くまでランチタイムをやっているところや、そもそもランチメニューなど無いところもあります。このブログもそんな時間に書き上げているので、冒頭からこんな話題になってしまったのですが、できれば早く書き終えて、ハラヘリを解消したいところなのです。
今日はあのとり料理にしようかな…

さて、気を取り直してシェーダー検証の続きです。

今回は
バンプマップ
ディスプレイスメントマップ
ベクターディスプレイスメントマップについてです。

1)
バンプマップとノーマルマップはaiStandardシェーダーの機能として搭載されています。
MentalRayのmiaマテリアルと同じような感じで使用できます。
オブジェクトの法線は変更されますが、ジオメトリは変更されないので計算が速いです。

2)
バンプマップに対してディスプレイスメントマップはジオメトリを直接変更させるため、aiStandardシェーダーの機能ではなく、上位のシェーディンググループのディスプレイスメント属性に接続させる必要があります。

ではレンダリング結果を見てください。

Block1 
ディフューズにテクスチャを貼っただけの状態
ベース

Block1Bump131 
aiStandardシェーダーにバンプマップを接続
バンプマップ

Block1Disp201 
aiStandardディスプレイスメントシェーダーを組み合わせジオメトリを変化
ディスプレイスメントマップA

Block1Disp224 
Disp2010の数値をさらに大きく変化させた場合
ディスプレイスメントマップB

上:Block1はディフューズにテクスチャを貼っただけの状態です。
中:Block1Bump131はaiStandardシェーダーにバンプマップを接続。法線が変更され凸凹しています。
中:Block1Disp201はディスプレイスメントシェーダーを組み合わせて、実際にジオメトリを変化させています。
下:Block1Disp224はより大きく変化させた場合です。

ディスプレイスメントマップの場合は、シェーダーの設定だけでなく、ジオメトリシェイプにあるアーノルドタブからサブディビジョン(細分化)の設定が必要になります。

 

3)
ベクターディスプレイスメントマップは少々特殊です。

まずシェーダーコネクトを見て下さい。

シェーディンググループのディスプレイスメント属性にディスプレイスメントシェーダーを接続し、32bitのベクターイメージを読み込ませる必要があります。

 

オブジェクトのサブディビジョンも慎重に調整したレンダー結果がこちらです。

1枚のプレーンジオメトリが、ベクターディスプレイスメントマップで立体的に変異しています。

VectorDisplacement141 
本来のジオメトリ
ベクターディスプレイスメントマップA

VectorDisplacement347 
ベクターイメージによって立体的に変異
ベクターディスプレイスメントマップB

VectorDisplacement1029 
耳を増やしてみた
ベクターディスプレイスメントマップC

上:EARはベクターディスプレイスメントマップです。本来は32bitOpenEXRです。
中:VectorDisplacement141は本来のジオメトリ。シンプルなプレーンです。
中:VectorDisplacement347がベクターイメージによって立体的に変異された状態。
下:VectorDisplacement1029耳を増やしてみました。

次の記事へ >>

<< 前の記事へ

その2 反射について
その3 屈折について
その4 SSSについて
その5 ディスプレイスメントについて
その6 ヘアーシェーダー