日々適当

hibitekitou

オブジェクトの質感を分けるひとつの方法

xsi |2013-05-21
メモ。
下図のように、文字を押し出したオブジェクトがあり、その前面(背面)と側面の質感を分けたい場合、その手法はいくつか考えられると思います。UVを設定したり、ポリゴンクラスタを設定してマテリアルをわけたり。



で、オブジェクトの法線に注目すると、前面にはXとY方向は0が、側面はXもしくはYに必ず0以外の値が入っていると考えることが出来ると思います。そんなわけで考えてみたのが以下のマテリアルです。



ジオメトリの法線のX方向もしくはY方向に0以外の値が入っている所と、どちらも0である所で質感を分ける設定になっています。
ここ、0以外の値が入っているところを調べるべく、Scalar Logicノードを使っているのですけど、これ、ICEの比較のためのノードのように、精度を指定することって出来ないんですかね。ICEだと、input = 0 って比較をするとき、精度を0.001とかにしておくと、-0.001~0.001の範囲の入力については0と一致していると返してくれます。
それがScalar Logicには無いようなんで、上図ツリーのようにちょっと面倒くさい組み方になっている次第。


コメント ( 0 )|Trackback ( )
  ・