izhoudiniTweet2つに分けたジオメトリに、対称なアルファのグラデーションを設定する方法をご紹介します。※使用バージョン:Houdini17.0.352■ジオメトリに透明度を設定するにはジオメトリに透明度を設定したい場合は、「Alpha」アトリビュートをジオメトリに追加します。TypeをFloatにして、0から1の範囲で数値を設定することで、0に設定したところは透明に、1に設定したところは不透明になります。以下の画像は、球体のジオメトリのポイントに対して、一番下のポイントのAlphaを0、一番上のポイントのAlphaを1としたグラデーションを設定した際の画像です。今回はこの透明度(Alpha)のグラデーションを、1つのジオメトリから分割した2つのジオメトリへ上下対称にRampで制御可能な、ジオメトリの変形に連動する状態で適用してみたいと思います。こちらの記事では、ノードベースで設定する方法とVOPを使用して設定する方法の2通りの手順を紹介致します。SOPを使用して中央付近を削除し、上下2つのパーツに分割したものを使用します。SOPを2つ使用してプリミティブの下側と上側をそれぞれ削除し、上側と下側のパーツに分けます。以下のエクスプレッションを使用します。ch(“../delete/ty”)以下は、その結果の画像です。SOPでは上側を削除して下側のみのパーツにしています。SOPを用いて、bbox_yアトリビュートを追加します。上側のジオメトリの場合、bbox_yアトリビュートには、$BBYを使用し、ポイントに対してY軸方向のバウンディングボックスでの相対位置を利用して0から1の値を設定します。下側のジオメトリの場合、bbox_yアトリビュートには、1-$BBYで、0から1の範囲を反転させた値を設定します。SOPでAlphaアトリビュートを追加します。InterfaceからRamp(Float)パラメータを追加し、Nameを「alpha_ramp」と設定して適用します。SOPのパラメータ、Valueに以下のエクスプレッションを入力します。chramp(“alpha_ramp”,@bbox_y,-0.2)これで、alpha_rampと名前を付けたrampパラメータで、Alphaのグラデーションの幅が調整可能になります。シーンビューで結果を確認しながら調整できます。SOPで$PTを使用してポイント番号をidとして設定します。idアトリビュートを参照するように設定し、元のジオメトリにAlphaアトリビュートをコピーします。SOPを使用して、ジオメトリを上下2つのパーツに分割したものを使用します。SOPを使用して、それぞれのパーツのグループを作成します。以下のエクスプレッションを入力します。ch(“../delete1/ty”)上側のジオメトリのポイントをUpperグループに、下側のジオメトリのポイントをLowerグループに設定します。SOPで、手順2で作成したグループと、それぞれのジオメトリのバウンディングボックスを使用して、rampで制御可能なグラデーションのAlphaアトリビュートを追加します。SOPのパラメータで、グループ名を指定できるようにします。VOPは、上下のパーツそれぞれのバウンディングボックスの相対位置を取得します。VOPで0-1の範囲にします。Lowerグループ側は、Alphaの数値をUpperグループ側と上下対称にするために、0から1の範囲を反転しています。VOPでグラデーションの幅を調整できるようにします。Ramp(float)にします。Rampと入力しています。アトリビュートとして出力しています。SOPのパラメータに追加されていて、こちらで変更、調整が可能です。IntaefaceでFolderを追加して、そちらにパラメータを移動しています。以上の手順により、Pointアトリビュートに上下対称なアルファのグラデーションを設定することができます。これらの方法は、BBOXで得られる相対位置(0~1)を利用しているため、上下のジオメトリの高さが変わった場合は、相対的にグラデーションの幅も変わります。Inc.の商標または登録商標です。他のすべてのブランド名、製品名、および商標はそれぞれの所有者に帰属します。当サイトは株式会社インディゾーンが運営しています。