自分の勉強用にhoudini wikiを翻訳します。ただ、wikiなので、日々更新される可能性がありますので、そこまで保障はできません。単なるメモ程度のものです。
Attribute transfer と position
sphereの座標値をgridのそれぞれのポイントの座標値へスムーズなフォールオフ(減衰)を与えた上で転送(Transfer)します。
1.gridノードを作成
2.sphereノードを作成
3.attribute transfer ノードを作成
4.attribute transferノードの第一引数にgridノードをつなぐ。第二引数にsphereノードをつなぐ
5.attribute transferノードのAttributeタブ 'Match P Attribute'にチェックを入れる
ここで、いくつか注意点があります。(もういくつかの他のサンプルを試した後で戻ってきてもいいです。)
- Pは位置座標を表すのに標準的に使われているアトリビュート名です。通常はポイントの位置座標を表すのに使われます。Mayaでは、これが頂点座標だと言うでしょう。mayaを使っている上では、めったにこれらを直接修正しません。(たいていは1レベル上の階層でオブジェクトトランスフォームを操作します。)Houdiniでは、全ての情報が下層レベルにあり、散らばせたり、乱雑に配置したりできます。
- このセットアップでは、sphereから座標を読み込んで、その位置をgridの各ポイントそれぞれにフォールオフをかけて転送しています。もしフォールオフをかけなければ、元のgridはsphereの中心の単一ポイントへむけて全て消えるでしょう。(実際には、あなたがdistanceを変更し、ブレンドする前にこれが起こることがわかります。)
- 「しかし、あなたは基本的に頂点を操作しているといっていますが、この手順がどうやってsphereのトランスフォームを魔法のように読み込んでいるのでしょうか?そして、そのgridの頂点はsphereの表面の全頂点にむけてワープするのではないでしょうか?」良い質問です。その答えは、houdiniデフォルトのsphere(primitive sphereと呼ばれています)は、mayaのnurbs sphereやpoly sphereのようではないということです。それはshpereモードでレンダリングされた1つのmayaパーティクルに近いです。すなわち、位置とスケールを持っていますが、表面を構成する頂点を持っていません。それを知ると、この手順にはすこし意味がでてきます。mayaでいうならば、私たちは(sphere型にビジュアライズされた)1つのパーティクルを読みこんで、その位置をgridの各頂点と比較し、それらの距離がとても近い時にそれら頂点をパーティクルに向かってワープさせます。
- sphereSOPの'primitive type'ドロップダウンを見ると、houdiniには通常のポリゴン球とnurbs球も存在します。'match P attribute'のチェックは必須です。なぜならば、通常のユーザはこれを望まないからです。つまり彼らがカラーやその他のアトリビュートを転送することになりますが、実際に動くポイントを望まないのです。
~~ 翻訳終了 ~~
つまるところ、アトリビュートの転送ノードを使うことで、今回は一定の距離に入ったポイントを対象に座標値を転送させて、吸いつかせるような表現を実現しています。これ以外にもtransferはいろんなアトリビュートを転送できるので応用範囲が広いです。
とくに難しいことはないので、追加で解説はなしです。