copyノードでコピーしたオブジェクトにスケールなどをかけると全て倍乗された値がかかってくる。
このようにせず、一つ一つのオブジェクトを変形させたいときは、コピーノードをもう一つ作成する。
この際、インプット先は左に。右にするとうまくいかない(なぜかは不明?)。
また、Transform Cumulativeのチェックは外しておく。
Transform Cumulative・・コピーが上位ノードに関連して変換される
http://www.sidefx.com/docs/houdini11.0/nodes/sop/copy
この状態でスケールなどをかけても、それぞれのコピーされたオブジェクトごとに独立してスケールがかかる。
以上。
カナダのバンクーバーへ渡り、半年間の就職活動を経て、海外のプロダクションでDigital Artistとしてスタートする日々を綴るBLOG。Houdini, 海外就職, CG/VFX, 英語学習、音楽、映画のことなどについて書いていきます。
2011/04/27
copyノードの使い方1
グリッドのポイントにあわせて、各オブジェクトがランダムにアニメーションするようにしたい。
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で定義された値を使用することができます。」
stamp,swichノード、いくつか使い方を知りたいですね。
3.transformノードの設定
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関数を使うところがミソでしょうか。
その前提の値は、コピーノードで設定して、その値をとってくるようにすることで、後からの変更にも対応できるんですね。
以上。
stamp("../copy1", "randScale", 1)
ここも、スケーリングをランダムに、それぞれのオブジェクトにおこなうために、stamp関数が使われている。
こんなところでしょうか。
3つのオブジェクトのスケール、動きをそれぞれランダムに設定する、というところでswitchノードを設定し、stamp関数を使うところがミソでしょうか。
その前提の値は、コピーノードで設定して、その値をとってくるようにすることで、後からの変更にも対応できるんですね。
以上。
ラベル:
copy,
expression,
stamp,
switch
【基礎】パラメーターのTips
パラメーターにエクスプレッションを入れて、アニメーションさせるとき、今のフレームでどの値なのかを知る方法。
ここでは、offsetに"$F/15"という関数を入れている。
この状態で、フレームを進めてた状態で、パラーメータ名(ここではoffset)をクリックすると、現時点の値が出てくる。
ここでは、offsetに"$F/15"という関数を入れている。
この状態で、フレームを進めてた状態で、パラーメータ名(ここではoffset)をクリックすると、現時点の値が出てくる。
【基礎】ノードアイコンのTips
・ディスプレイFLAG(目のマーク)
ディスプFlagをつけた状態がシーンビュー(作業画面)で表示される。
注意すべきは、選択状態(アイコンが黄色の状態)とは異なるということ。
ノードを選択した状態で、いろいろといじって、結果を見ようとしてもシーンビューで反映されないことが多々あります。これは、ディスプレイflagがついていないことが原因です。
ディスプレイフラグがネットワークのどのノードについているかは常に確認することが必要です。
僕もここは良く間違えます。
・レンダリング
ディスプレイフラグを上のノードにつけたままで、
下の階層でctr+クリックするとレンダリングflag(紫のフィルム)が表示され、アイコンに紫の円がつきます。
シミュレーションなど表示が重い場合は、ディスプレイflagを立てずに、こうやってオペレーション結果だけをレンダリングすることも可能。
・ロックフラグ
これまでの計算がフリーズされます。
いちいちファイルを開いたときに計算しなおされない。
ノードをきってもデータが蓄積される。
アンロックするときに、ポップアップがでる。
アンロックするときは、ちゃんとノードをつないでおかないと、再計算されず、再現できない。
2011/04/11
Particle EmitterのLocation Node-VelocityとVariance
Location Node
http://www.sidefx.com/docs/houdini11.0/nodes/pop/location
Velocity・・速度の設定と追加
Variance・・上記設定速度の分散値。このノードは、速度のパラメーターの数値に0からの+ /-の数値を各軸に沿って加えます。
この例だと、Velocityに沿ってParticleはX軸方向へ進み、分散方向Y軸上下に沿って広がっている。
今は0になっているXYZに数値を入れれば立体的な広がりとなる。
ちなみにwikiより「速度と速さについて」
"日常語としての速度(スピード、speed)は、大抵の場合一定時間あたりに進む距離のことを指す。これは [移動距離] ÷ [経過時間] で求めることができ、時速、分速などの単位が用いられる。
http://www.sidefx.com/docs/houdini11.0/nodes/pop/location
Velocity・・速度の設定と追加
Variance・・上記設定速度の分散値。このノードは、速度のパラメーターの数値に0からの+ /-の数値を各軸に沿って加えます。
この例だと、Velocityに沿ってParticleはX軸方向へ進み、分散方向Y軸上下に沿って広がっている。
今は0になっているXYZに数値を入れれば立体的な広がりとなる。
ちなみにwikiより「速度と速さについて」
"日常語としての速度(スピード、speed)は、大抵の場合一定時間あたりに進む距離のことを指す。これは [移動距離] ÷ [経過時間] で求めることができ、時速、分速などの単位が用いられる。
物理学の文脈では、日常的な意味での速度を速さ (speed) とよんで速度 (velocity) と区別する。速度は運動を表す物理量であり、ある物体が移動するときの、単位時間あたりの変位を表す。すなわち、物理学の文脈では速さと向きとを併せたものを速度というのであり、速さは「速度の大きさ」を示すスカラー量とみなされる。速度は“大きさ” と“向き”をもつのでベクトル量であり、それを明示するために速度ベクトルと呼ぶことがある。
例として、自動車が“一定速度”で東の方向に走り、1 時間で 60 km 移動した場合、車の速度は「東向きに時速 60 km」となり、車の速さは「時速 60 km」となる。また例えば、マラソン選手が 40 km を 2 時間で走った場合、そのマラソン選手の速さは 20 km/h、または時速 20 km と表される。"
Particle node-gravity and drop
Particle
gravity nodeのフォースの設定
Force>Scaleで調整Noise>Amplitude(振幅)
http://www.sidefx.com/docs/houdini11.0/nodes/pop/force
Noise・・The parameters on this tab add randomness to the force. This makes particles more or less affected at random, creating a less uniform effect
(このタブのパラメータは、力にランダム性を追加します。これは、以下の均一な効果を作成し、粒子は、以下の影響をランダムに詳細になります。 )
Drag Node
Drag(抗力)・・・Applies drag to the velocity of particles.(抗力をパーティクルの速度に与える)
http://www.sidefx.com/docs/houdini11.0/nodes/pop/drag
そもそも「抗力」がよくわからなかったのでwikiよりhttp://ja.wikipedia.org/wiki/%E6%8A%97%E5%8A%9B
"抗力(こうりょく、drag)は、流体 (液体や気体) 中を移動する、あるいは流れ中におかれた物体にはたらく力のうち、流れの速度方向に平行で逆向きの成分のことである。流れの速度方向に垂直な成分は揚力(鉛直上方、リフトフォースとも)やダウンフォース(鉛直下方)と呼ばれる。"
抵抗みたいなもの?か。イメージ的に。パーティクルが飛んでいくときの空気抵抗のような効果を出せる。
こちらもscaleパラメーターで調整する。1が最大。
Particleにブラーをかけてレンダリング
パーティクルにブラーをかけてレンダリングしたい。
複数のノードのパラメーターを変更する必要がある。
1.Particleノードでrenderノードを追加
render node http://www.sidefx.com/docs/houdini11.0/nodes/pop/renderパーティクルをどのようにレンダリングするか(描画するか)をコントロールする。
Particle type・・・球体、円形、ライン、チューブ状など選べる。
※ブラーをかけられるのはこのうち、sphere,disks表示のみ。
Particle size・・・パーティクルの大きさをコントロールする
Particle emitterのレンダー設定を行う
Renderタブ>Samplingタブ>Geometry Velocity Blur にチェック
Geometryタブ>Render As Points(Mantra)にチェック
renderノードでParticle TypeをLineなどを選択していた場合には、ブラーが適用されないため、ここにチェックを入れる。"デフォルトでは、パーティクルシステムのプリミティブ内のポイントは、球プリミティブとしてレンダリングされます。また、ポイントは、パーティクルシステムのプリミティブの一部でない場合、それは表示されません。このパラメータが有効になっている場合、このオブジェクトのジオメトリから(粒子系の一部であるかどうかに関係なく)、すべてのポイントは、カメラ面に直面してポイント(円)プリミティブとしてレンダリングされます。"
Mantraノードの設定
OutputノードにてMantraノードを追加する
Mantra>Properties>Sampling>Allow Motion Blurにチェックhttp://www.sidefx.com/docs/houdini11.0/nodes/out/ifd
マントラの設定
IPRレンダリングではブラーがかからない。
モーションブラーのレンダリングについて詳しく
登録:
投稿 (Atom)


















