Utility ノード 2
Sampler Info のアトリビュート
カメラからの視線と法線の角度を調べるには Facing Ratio が便利ですが、
法線マップによる法線ベクトルとの角度を調べるためには使用できません。
その場合には Ray Direction などを使って自分で内積の計算を行う必要があります。
- Ray Direction
- カメラからサンプリング点への長さ 1 のベクトル
Sampler Info の使用例 2
Crater テクスチャーを利用して、
バンプの部分にも Facing Ratio を使用したのと同じような効果が出るようにしてみましょう。
新しく以下のノードを利用します。
- Multiple Divide
- 1 〜 3 個の数同士を乗算・除算・階乗します。
- Vector Product
- ベクトル同士の演算(内積・外積など)を行います。
- 球と平面で適当にシーンを作成します。
わかりやすくするために、平面にテクスチャーをアサインしておきます。
- Surface Shader マテリアルを作成し、球にアサインしておきます。
ここでは、色の計算をすべてシェーディングネットワークで計算してしまうので、
Surface Shader を使用します。
- General Utilities から Sampler Info ノードを作成します。
- General Utilities から Multiple Divide ノードを作成します。
- Sampler Info ノードの Ray Direction と Multiple Divide ノードの
input1 をコネクトします。
- Multiple Divide ノードのアトリビュートエディタを開き、
input2 の 3 つの数値をすべて -1 にします。
これによって、カメラからサンプリング点に向かっているベクトルの向きを逆転します。
- 3D Texture から Crater ノードを作成します。
- General Utilities から Vector Product ノードを作成します。
- Crater ノードの outNormal と Vector Product の input1 をコネクトします。
- Multiple Divide ノードの output と Vector Product の input2 をコネクトします。
ここまでのシェーディングネットワークで Facing Ratio と同じ計算しています。
- Colors Utilities の Blender Colors ノードを作成します。
- Vector Product の outputX を Blender Colors ノードの Blender にコネクトします。
- Blender Colors ノードの output を Surface Shader の outColor にコネクトします。
- 以下のアトリビュートを適当に変更します。
Crater ノード
- Frequency
- テクスチャーの色を混ぜる度合い
- Norm Depth
- クレーターの深さ
Blender Colors ノード
- Color1
- Blender アトリビュートの値が 1 の場合の値
- Color2
- Blender アトリビュートの値が 0 の場合の値
- Crater の代わりに任意のバンプマップを使用することができます。
その場合は、Bump2d または Bump3d の outNormal から
Vector Product の input1 へコネクトします。
参考
- Maya
Maya, MEL 関係(Tips, FAQ, コマンド)のページ
Index | Home
Mail