#はじめに
この記事は HoudiniApprenticeAdventCalendar2021 16日目の記事です。
Houdini Indie 19.0.383 を使用しています。
この記事は去年の HoudiniApprenticeAdventCalendar の記事、「Houdini18.5 新ノードを使った作例!~従来の方法と一緒に~」の バリエーションコピーの章の続きになります。
hipファイルはこちら
#これまでのバリエーションコピーのおさらい
従来の方法1 CopyStamp を使用した方法
↓
従来の方法2 For-Each を使用した方法
↓
Houdini 18.0 Variant Attribute を使用した方法
↓
Houdini 18.5 Scatter and Align, Attribute from Pieces を使用した方法
というように、扱いやすく高速に処理できるよう進化してきました。
※それぞれの詳細は「Houdini18.5 新ノードを使った作例!~従来の方法と一緒に~」をご覧ください。
前回の最終形、18.5のネットワークの状態はこんな感じです。
さて、新バージョンの Houdini 19.0 では何が変わったのでしょうか??
#Houdini 19.0 版 バリエントコピー ~Merge Packedの使用~
Houdini 19.0 では入力をそれぞれ Pack し、アトリビュートを付与してくれる Merge Packed という新しい Merge ノードが追加されました。
18.5では Merge 前にそれぞれ Pack し、Merge 後に Enumerate SOP で variant アトリビュートを与えていましたが、その工程がまるっと1つのノードでできます。
Merge Packed はデフォルトで Name Primitive Attribute のパラメーターがオンになっていて、
入力ノードの名前を name アトリビュートとして付与する設定になっています。
今回はそれをオフにして、代わりに Index Parimitive Attribute をオンにして「variant」と入力しています。
これで variant アトリビュートに整数値が付与されます。
ちなみにですが、デフォルトの name アトリビュートでも Attribute from Pieces、Copy to Points の各パラメータを「name」
に設定すれば同様にバリアントコピーしてくれます。
name アトリビュートは kineFX や Solaris でも使われていて、堅牢なネットワークが作れるというのもあり、もしかしたら今後はなるべく name アトリビュートを積極的に使用するのがいいかもと個人的に思っています。