kick the base

Houdiniと、CG技術と、日々のこと。

Houdini: Groupいろいろ

ノードの機能

いろんなグループの作り方があるがよく使うやつを。思いついたら随時追加。

本記事は個人的な備忘録となっており、補足も最低限となっています。
詳しくはHoudini: ノード備忘録 - 目次をご覧ください

ご指摘等ありましたらこちらまでお気軽にお声がけください。泣いてよろこびます。

ノーマルでグループ

他の機能と組み合わせることが多いのでVEXもしくはVOPで内積(dot)を使うことが多いけど、単純にグループを作りたいときなどに。

f:id:kickbase:20190121221941j:plain

エッジいろいろ

角度ベースでグループ化したり、共有されていないエッジをグループ化したり。

f:id:kickbase:20190121222255j:plain

ボリュームの利用

とあるジオメトリに入ってる入ってないを判断するのによく使う。他の機能と組み合わせる時はVolumeSampleを使うことが多い。単純に外・中だけでなく深度もとることができる。

volumesample(ボリューム側の入力番号, ボリュームが一つの場合は大抵0, @P);みたいに書く。※ 書き方よく忘れるので気を付ける

VDBを使用するときDistance VDBとFog VDBで戻り値の範囲と正負が異なるので注意。

f:id:kickbase:20190121223300j:plain

グループタイプのコンバート、グループ同士の演算

Group Combineの指定方法。忘れがちなので注意。

f:id:kickbase:20190121223614j:plain

ポリゴンの頂点数で指定する

primvertexcount(0, @primnum) == 5とか。

f:id:kickbase:20190121223944j:plain

両端のポイントをグループ化

neighbourcount(0, @ptnum) == 1とか。

f:id:kickbase:20190121224129j:plain

距離でグループ化

length(@P- point(1, "P", 0)) < `chs("thresiold")`

f:id:kickbase:20190121224241j:plain

Delete SOP

グループ化とは直接関係ないが様々な指定方法で直接削除できるのでBlast SOPよりも使い勝手が良い場合がある。ローカル変数の$N@numpt-1@numprim-1と同値でよく使う。

またDelete Unused Groupsオプションのチェックを入れておくと削除後に使用されてないグループを消してくれる。

f:id:kickbase:20190123210050j:plain

サンプルファイル

サンプルhip

参考リンク