Group Expand を利用した交差判定のオブジェクト単位への拡張
交差判定などをおこなった頂点グループを拡張することでオブジェクト単位での交差判定などに利用できる

環境
HoudiniFX 20.5.613
GroupExpand
GroupExpandノードを使うとGroupの範囲をコンポーネントの接続状態に合わせて範囲を拡張、縮小することができる。

この時、設定項目である、「Flood Fill Connected Geometry」を有効にすると接続しているコンポーネントに対して一律でGroup範囲の拡張を行うことができる。

選択範囲をオブジェクト範囲へ拡張
この機能を利用することで、Groupノードによる交差判定を行った頂点に対して範囲拡張を行うとその頂点をもつメッシュ単位で交差判定を行うことができる。


GroupNodeでBoundingObjctを有効にして範囲内にあるpointをGroup化する

GroupExpandで「Flood Fill to Connected Geometry」を有効にすると範囲内にあるpointとつながるコンポーネントすべてをGroup化することができる。

注意点
面に対するGroupノードによる交差判定の注意点
GroupExpandの注意点ではなくGroupの注意点。
ポリライン以外でも判定、拡張の流れは可能だがGroupノードによる交差判定は頂点が範囲に含まれるかどうかでしか判定できないのでポリゴンなどで実行する場合は分割数などに注意が必要になる。(ポリラインは面をもたないため、resampleのみで済むので楽)

判定時のメッシュ解像度を変更
対策として、判定するタイミングのみRemeshやSubdivideなどで分割数を増やしたメッシュに対して交差判定を行い、そのGroupを拡張した後にGroupTransferで転送、改めてグループの拡張を行うと判定できる。

とはいえ、原理としてpointを対象にしているので解像度の制限があるのとremeshなど挟むと厳密に元形状とは異なるものになる点だけ留意が必要。
Groupノードによる交差判定はポリゴンというよりはポリラインに適した交差判定で、面があると破綻しやすいのでポリゴンで使いたい場合は交差判定部分の流れを考え直した方が良さそう。
(今回はポリラインに対して実行したかったので調べていませんが、ポリゴンに対する適切な交差判定も調べるとどこかしらで出てくると思います。)

fish_ball
プロシージャル魚類