Houdiniかんたんレシピ 16 ~ Groupアトリビュート ~


~基本的すぎてあまり紹介されない、ちょっと便利なTips紹介~

『Houdiniかんたんレシピ』は、Houdiniを使っていく上で、基本的なことですが基本すぎてチュートリアル等で紹介されないような、ちょっとしたTipsや、ニッチな機能を紹介していくシリーズです。

かんたんレシピ第16回目は、Groupアトリビュートです。

HoudiniでSOPの処理をする時、処理したいPointやPrimitiveのGroupを作ってそのGroupに対して処理をするというのが基本になります。
SOPにはGroupを操作するいろんなSOPノードがありそれらを使ってGroupを作るのが基本になります。
例えば、グリッドの各ポリゴンのX座標がマイナスのポリゴンをUnder_ZEROというグループに格納したいときは、
Group Expression SOPを使うことでグループUnder_ZEROを作ることができます。

Groupを作ってGeometorySpreadSheetを見るとGroup:Under_ZEROというアトリビュートが作られています。
これがGroupアトリビュートで、Group:グループ名が1のコンポーネントがそのグループに格納されているという意味です。

このアトリビュートですが@Group_グループ名というアトリビュートを使うことでVEXで直接グループの設定をすることができます。
Group ExpressionSOPは実はVEXでこのアトリビュートを設定しています。
Generated CodeタブのUpdate Codeをクリックすることで

 @Group_Under_ZERO = @P.x < 0;

というVEXコードが作られているのが分かります。
上記のコードをPrimitive Wrangle SOPに入力することで、Group ExpressionSOPと同じようにグループUnder_ZEROを作ることができます。


グループの設定だけであればGroup ExpressionSOPを使う方が簡単ですが、
Wrangle SOPを使うとより複雑な設定ができます。
VEXなのでVOPでも設定することができるので、Wrangleでコードを手打ちするのが苦手な方はこちらのほうが便利に使えるのではないでしょうか。

VEXにはsetpointgroupのようなGroupを制御する関数もありますが、
@Group_グループ名を使うと簡単にグループを設定することができます。