2011/04/27

copyノードの使い方1

グリッドのポイントにあわせて、各オブジェクトがランダムにアニメーションするようにしたい。



1.copyノードの設定
stampタブの設定をおこなう
value1に"randPeim"という名前で"rand($PT*3)*2
value2に"randScale"という名前で"rand($PT)*1.3

→グリッドのポイントの位置に任意の定数をかけて、ランダムに値を取っている

"pt"・・point
“det”・・detail
“vtx”・・vertex variables

2.swichノードの設定
selectinputにエクスプレッションを入れる
stamp("../copy1", "randPrim", 1)

*stamp stamp(scope,token,value)
stamping変数を返す

下流のコピーノードに通常から取得スタンプ変数を設定します。
この関数は、浮動小数点数の値を取得します。文字列の値については、stampsを使います。


scope:ノードのパスからの値を取得します。
token:変数の名前を取得します。
value:トークンが存在しない場合に使用するデフォルト値を設定します。
http://www.sidefx.com/docs/houdini11.0/expressions/stamp


ここでは、copyノードの、randPrimの値を返すように設定しています。
で、このstamp関数が良くわからないので、randPrimeの値がどう変化するのかが、不明ですが、copy stamping というのがあるのでそこを見てみると。
"The Copy to Points tool creates copies of a piece of source geometry on each point of a piece of template geometry. By default these copies are identical, but you can use stamping parameters to vary the generation of each copy.Stamping parameters let you communicate information upstream to the operators connected to its inputs. This lets you use values defined in the Copy SOP to control parameters on the source geometry as it is copied, even though the parameters are on operators upstream from the Copy SOP."「ポイントツールコピーし、テンプレートジオメトリの一部の各のソースジオメトリの一部のコピーを作成します。デフォルトでは、これらのコピー同じですが、各コピー世代変化させるパラメータ刻印することができます。
プレスパラメータを使用すると、その入力接続してオペレータ上流の情報を伝えることができます。これは、パラメータのコピーSOPから上流の演算子されていても、それコピーされると、ソースジオメトリパラメータを制御するためにコピーSOPで定義された値を使用することができます。」

となっており、ようするにとってきた値を、変数にしてコピーするみたいですね。
なので、ランダムに変化させた値を、下のinput operatorsに入れてそれぞれが、同時に出現するようにしているのでしょうか。
ちなみに、ただのランダム関数を入れると(rand($F/5))、それぞれのオブジェクト一つがフレームごとに出てきてしまいます。

stamp,swichノード、いくつか使い方を知りたいですね。

3.transformノードの設定
uniform scalingにstamp関数を入れる
stamp("../copy1", "randScale", 1)


ここも、スケーリングをランダムに、それぞれのオブジェクトにおこなうために、stamp関数が使われている。

こんなところでしょうか。
3つのオブジェクトのスケール、動きをそれぞれランダムに設定する、というところでswitchノードを設定し、stamp関数を使うところがミソでしょうか。
その前提の値は、コピーノードで設定して、その値をとってくるようにすることで、後からの変更にも対応できるんですね。

以上。

0 件のコメント:

コメントを投稿