>   >  Houdini Cook Book:vol.85 Vertex Connect
vol.85 Vertex Connect

vol.85 Vertex Connect

02 Connect Flow:Advance

3つ目は応用的なアプローチとして、idのようなAttributeをもっているPoint【L】をidごとに繋ぐ方法を紹介します。この場合、まずVOPはDetailにRun Overで準備します【M】

大きなFor Loop【N】を作成し、Unique Value Count of Attrtibute VOP【O】を用いて、idの総数を取得します【5】。これにより、idの数と作成されるPrimitiveの数が一致します。

続いて、少々イレギュラーな方法ですが、idからPoint番号をArrayとして格納する方法を紹介します。まず、Arrayを作成するために、Import Point Attribute VOP【P】を使用して、idの値を取得します【6】

その際に、For LoopのIndexとImport Point Attributeのptnumをコネクトします。これでidを取得して、Integer to Vector VOP【Q】でComponent1にセットします。これで、Pの代わりにidが横一列に並んでいるような状態になります。このPを用いて、Point Cloud Find VOP【R】でidからPoint番号を探します【7】。Search Radiusは0.5以上であれば問題ありません【8】。また、Max Pointはptnumをセットします【9】。このArrayをArray Sort VOP【S】で順番に並べ直し、これを用いたFor Each【T】を作成します。For Each内にAdd Vertex VOP【U】を作成し、elementをptnumとします。また、For Loop内に作成したAdd Primitive VOP【V】のprimitiveをAdd Vertex VOPに接続します。

これで、idごとに繋がったPrimitiveを作成することが可能になります【10】。Infoで確認すれば、Primitiveがidの数と一致していることが確認できます【11】。Add SOPでも同じことを簡単に素早く行えますが、今回のようなアプローチを知っておくことで、応用すれば後々重宝すると考えます。

次ページ:
03 Practical

その他の連載