Houdini 18 SOP No.10 “Edge Equalize SOP”


~“Edge Equalize SOP” Edge編-1~

前回に引き続きHoudini18.0にて新規に追加されたSOPノードの解説を行います。
前回の記事をご覧になられていない方はこちらからご覧ください。

※本記事ではHoudini 18.0.391を使用しています。

 

今回はEdge Equalize SOPについて解説していきます。

Edge Equalize SOP

このノードは、Houdini 18.0にアップデートされた際に新しく追加されたノードになります。
このノードの機能は、選択したエッジを全て同じ長さに変更するものとなります。

このノードは選択されたエッジを
 ・モデルのエッジの平均サイズ
 ・モデルの最も長いエッジサイズ
 ・モデルの最も短いエッジサイズ
の3種類に変更することができます。

 

では具体的な使い方を説明していきます。

パラメータは以下のようになります。

このパラメータの中で重要になるのは赤く囲われた「Method」というパラメータになります。

この「Method」は、プルダウンのよってエッジの長さを変更することのできるパラメータになります。

種類は
 Average Edge Length:エッジの長さの平均に統一
 Longest Edge Length:一番長いエッジの長さに統一
 Shortest Edge Length:一番短いエッジの長さに統一
の3種類となっています。

さらに、一番下の「Output Edge Group」にて変更されたエッジをグループとしてアウトプットすることができます。

 

では実際にどのように変更されるかを確認してみましょう。

以下の画像のようなモデルを用意しました。

詳細は
 1m×1m×1mの立方体
 縦に10層に分割(1層につき0.1m)
となっています。

このモデルのエッジの長さを同じ長さに変更していきます。

 

まず初めに「Method」が“Average Edge Length”の場合です。

このような結果を得ることができます。

Average Edge Lengthでは全てのエッジの平均の長さに統一されます。

今回の場合は
 1mの辺 × 44
 0.1mの辺 × 40
であるため、エッジの平均の長さは
 48 / 84 = 0.5714…
となります。

Geometry Spreadsheetを確認してみましょう。

このような結果が得られます。

この時のジオメトリの底面のプリミティブのみを抽出した物が下の画像になります。

この画像の赤く囲われている0番目と1番のポイントのx座標の数値の絶対値の和を求めることによって1辺のエッジの長さを求めることができます。

0番目のP[x]の数値の「-0.285714」の絶対値である「0.285714」と1番目のP[x]の数値の「0.285714」絶対値である「0.285714」の和を求めると

0.285714 + 0.285714 = 0.571428

となりエッジの長さが各エッジの平均の「0.571428‬」に変わっていることが分かります。

 

次に「Method」が“Longest Edge Length”の場合です。

このような結果を得ることができます。

Longest Edge Lengthでは最も長いエッジの長さに統一となるため、最も長いエッジである1mに統一されます。

Geometry Spreadsheetを確認してみましょう。

このような結果を得ることができます。

この時のジオメトリの底面のプリミティブのみを抽出した物が下の画像になります。

この画像の赤く囲われている0番目と1番のポイントのx座標の数値の絶対値の和を求めることによって1辺のエッジの長さを求めることができます。

0番目のP[x]の数値の「-0.5」の絶対値である「0.5」と1番目のP[x]の数値の「0.5」の絶対値の「0.5」の和を求めると

0.5 + 0.5 = 1

となりエッジの長さが最大の長さの「1‬」に変わっているのが分かります。

 

最後に、「Method」が“Shortest Edge Length”の場合です。

このような結果を得ることができます。

Shortest Edge Lengthでは最も短いエッジの長さに統一となるため、最も短いエッジである0.1mに統一されます。

Geometry Spreadsheetを確認してみましょう。

このような結果を得ることができます。

この時のジオメトリの底面のプリミティブのみを抽出した物が下の画像になります。

この画像の赤く囲われている0番目と1番のポイントのx座標の数値の絶対値の和を求めることによって1辺のエッジの長さを求めることができます。

0番目のP[x]の数値の「-0.05」の絶対値である「0.05」と1番目のP[x]の数値の「0.05」の絶対値である「0.05」の和を求めると

0.05 + 0.05 = 0.1

となりエッジの長さが最小の長さの「0.1‬」に変わっているのが分かります。

このようにエッジの長さを3種類の長さに統一することができます。

また、下の画像の赤く囲われた「Output Edge Group」で名前指定することで、その名前のグループを作成することができます。

そうすることによってEdgeのアトリビュートに対して新しく指定した「out_edge」というグループが作成されます。

下の画像が「Output Edge Group」を「out_edge」に指定した際のGeometry Spreadsheetになります。

※HoudiniのGeometry SpreadsheetではEdgeのアトリビュートが確認できないのでEdgeのGroupをPointのGroupに変換して可視化しています。

以上がEdge Equalize SOPの説明となります。

 

このノードを使うことでエッジの長さを統一することができます。さらに、Groupを指定することにより任意の位置のみにエッジの長さを統一することが可能となります。

 

こちらの記事のhipファイルが以下のURLからダウンロードできますので興味のある方はご確認ください。
https://www.dropbox.com/sh/i840qq3w8twdr6x/AADA-bW8OtOUbaTOdSqA69Zla?dl=0