Utility ノード 2

Sampler Info のアトリビュート

カメラからの視線と法線の角度を調べるには Facing Ratio が便利ですが、 法線マップによる法線ベクトルとの角度を調べるためには使用できません。 その場合には Ray Direction などを使って自分で内積の計算を行う必要があります。

Ray Direction
カメラからサンプリング点への長さ 1 のベクトル

Sampler Info の使用例 2

Crater テクスチャーを利用して、 バンプの部分にも Facing Ratio を使用したのと同じような効果が出るようにしてみましょう。
新しく以下のノードを利用します。

Multiple Divide
1 〜 3 個の数同士を乗算・除算・階乗します。
Vector Product
ベクトル同士の演算(内積・外積など)を行います。
  1. 球と平面で適当にシーンを作成します。
    シーン
    わかりやすくするために、平面にテクスチャーをアサインしておきます。
    レンダリング画像
  2. Surface Shader マテリアルを作成し、球にアサインしておきます。
    ここでは、色の計算をすべてシェーディングネットワークで計算してしまうので、 Surface Shader を使用します。
  3. General Utilities から Sampler Info ノードを作成します。
  4. General Utilities から Multiple Divide ノードを作成します。
  5. Sampler Info ノードの Ray Direction と Multiple Divide ノードの input1 をコネクトします。
  6. Multiple Divide ノードのアトリビュートエディタを開き、 input2 の 3 つの数値をすべて -1 にします。
    これによって、カメラからサンプリング点に向かっているベクトルの向きを逆転します。
  7. 3D Texture から Crater ノードを作成します。
  8. General Utilities から Vector Product ノードを作成します。
  9. Crater ノードの outNormal と Vector Product の input1 をコネクトします。
  10. Multiple Divide ノードの output と Vector Product の input2 をコネクトします。
    ここまでのシェーディングネットワークで Facing Ratio と同じ計算しています。
  11. Colors Utilities の Blender Colors ノードを作成します。
  12. Vector Product の outputX を Blender Colors ノードの Blender にコネクトします。
  13. Blender Colors ノードの output を Surface Shader の outColor にコネクトします。
  14. 以下のアトリビュートを適当に変更します。
    Crater ノード
    Frequency
    テクスチャーの色を混ぜる度合い
    Norm Depth
    クレーターの深さ
    Crater のアトリビュートエディタ
    Blender Colors ノード
    Color1
    Blender アトリビュートの値が 1 の場合の値
    Color2
    Blender アトリビュートの値が 0 の場合の値
    Blender Colors のアトリビュートエディタ
    Hypershade
    レンダリング結果
  15. Crater の代わりに任意のバンプマップを使用することができます。
    その場合は、Bump2d または Bump3d の outNormal から Vector Product の input1 へコネクトします。
    Hypershade
    レンダリング結果

参考


Index | Home
Mail