~“Distance Along Geometry SOP” Distance編-1~
前回に引き続きHoudini18.0にて新規に追加されたSOPノードの解説を行います。
前回の記事をご覧になられていない方はこちらからご覧ください。
※本記事ではHoudini 18.0.391を使用しています。
今回はDistance Along Geometry SOPについて解説していきます。
Distance Along Geometry SOP
このノードは、Houdini 18.0にアップデートされた際に新しく追加されたノードとなります。
このノードの機能は、各開始点からジオメトリのエッジまたはサーフェスに沿った最短経路の距離を測定するものとなります。
このノード用いてサーフェスに沿った距離を測定するこにより距離に基づいてマスクを作成する際に役立ちます。
また、このノードでは距離を測る際の設定が2種類存在します。
1つ目は、ポイント間を結ぶ最短距離
2つ目が、ポイント間を結ぶエッジに沿った最短距離
となります。
具体的に説明しているのが下の画像になります。
左がポイント間を結ぶ最短距離、右がポイント間を結ぶエッジの最短距離となります。

それでは、具体的な使い方を説明します。
パラメータは下の図のようになります。
赤く囲われた「Start Points」にグループを指定することによって指定された場所からの距離を測定します。
例として下の画像のようなGeidを用います。
このグリッドは
Size:10×10
Rows:30
Collums:30
となっています。
このグリッドの0番目のポイント(左上の端)からの距離計測していきます。
そのため「Start Point」に“0”を入れます。
そうすることによってポイントナンバーが0のポイントからの距離を計測することができるようになります。
距離を計測した結果のGeometry Spreadsheetは下図になります。
このよう距離に応じてdistの値が変わることが分かります。
さらに、このノードではマスクのアトリビュートを作成することが可能となります。
マスクを有効にした際のパラメータが以下の画像になります。
赤く囲われているパラメータの一番上にある「Output Mask」を有効にすることによってそれ以外のパラメータを操作できるようになります。
デフォルトでは、マスクの範囲はStart Pointsで指定されているポイントから半径1mの範囲にのみ作成されるように設定されています。
その指定範囲を変更するのが「Radius」のパラメータとなります。この数値を大きくすることによってマスクを作成する範囲を広くすることが可能となります。
また、範囲を指定する際に「Radius From」を”Parameter”から”Maxmume Distance”に変更することによって最大範囲を自動でフィットさせることも可能です。
さらに、Rampのパラメータを用いることによってマスクを作成する際の密度の分布を変更することも可能です。
実際に変更した際の分布を確認してみます。
以下の画像は
Radius:10
Ramp:デフォルトの状態
の分布になります。
赤く色のついている部分がマスクが適用されている部分となります。
左上の端から右下の端に行くにつれてマスクが適用されていないことが分かります。
そしてRampの値を変更した結果も確認してみます。
以下の画像は
Radius:10
Ramp:下の画像
このようにRampの値に応じた波打ったようなマスクを作成することができます。
以上がDistance Along Geometry SOPの説明となります。
このように距離を測り、それを用いたマスクを作成することににより、距離に応じて色の濃さを変えるといったことを簡単に行うことができます。さらに、近隣ポイントを探す際にも活用することができ、実用性の高いノードとなっています。
こちらの記事のhipファイルが以下のURLからダウンロードできますので興味のある方はご確認ください。
https://www.dropbox.com/sh/i840qq3w8twdr6x/AADA-bW8OtOUbaTOdSqA69Zla?dl=0