Houdini sidefx official Lesson1-2 Particle

このチュートリアルでは、球体から発生したパーティクルをティーポットの形状をゴールとし、最終的にティーポット型のパーティクル集合を作成するという内容。

まずは球体とティーポットを作る

はじめにsphereを作る。
その後、sphere_object1内で Platonic Solids ノードを作成し、Solid TypeをUtah Teapotに

20140413_01_0

20140413_01_1

20140413_01_2

popnetノード

popはParticle OPerationのこと、多分。
popnetノードを使用し、パーティクル処理を作成する。
popnetとは、Particle OPeration Networkのことだと思う。(多分)
このノードの中にパーティクル処理のためのネットワークを作成するようだ。

※チュートリアルが作成された時点では、popnetノードが旧式のものしかなかったようで、Houdini 13ではpopnet – old というタイプで定義されているノードを使用する。

popnet – oldノードが作られた時点では、中身は空っぽでなんの動作も行わない。

オブジェクトからのパーティクル放出

エミッタオブジェクトをpopnetのinput1に、収束するターゲットオブジェクトをinput2につないでおく。
popnet-oldに入り、sourceノードを作成。

ソースはinput1に入力されたジオメトリオブジェクトになるので、 Geometry SourceをUse Firse Context Geometry にする。

この時点で、球体の各頂点からパーティクルが発生するようになっているが、速度等を持たないので動かない。

初速を持たせるために、Attributesタブで Initial Velocity を Add to inherited velocity にする。こうすることで、親から継承された速度ベクトルに加え、自らが定義した速度を持ってパーティクルが放出されるようになる。

Velocityは速度ベクトル。Varianceは速度ベクトルに加えられるランダム速度ベクトル。x=3であれば、ランダム範囲は -3~3

20140413_01_3

パーティクルを引きつけるattractorノードを作成

attractorノードを作成する。

sourceノードでパーティクルを放出するジオメトリを選んだ時の要領で、Geometry Source を Use Second Context Geometry に

これで、input2に接続されたティーポットオブジェクトがパーティクルの引きつけターゲットになるが、このままではかなりラフなティーポットの頂点が引き付けターゲットになるので、引きつけが成功してもティーポットには見えない。
また、現時点ではティーポットの点からは引き付けの力が発生していないので、パーティクルの動作には変化がない。

ティーポットの表面に収束先パーティクルを作成する

scatterノードをつなぎ、ティーポットの表面にパーティクルを生成する

scatterで作られたパーティクルに力を与える

pointノードを作成する

pointノードのforceタブで各種力を設定可能。
Radiusを Add Radius に
Force Scale を Add Force Scale に
Radial Force を Add Radial Force に

popnet-old内のattractorノードに戻り、Attractor Use を Single point per Particle に

こうすることで、パーティクルとアトラクターの頂点が1対1で対応し、正しい軌跡でティーポットに引き付けられるようになる。

※この設定を行わない場合、1粒のパーティクルに影響を与える頂点がティーポット上にある全ての点になり、それぞれの力の合力が一つのパーティクルに作用するため、パーティクルは発生後に非常に高速で飛んでいってしまうのだと思う。

dragノード

現時点で、放出されたパーティクルはティーポットになんとなく引き付けられているように見えるが、収束すべき点に向かって移動する際の減速が弱く、なかなか収束しない。

よって、dragノードを使用して強制的にパーティクルを減速させる。

dragノードを作成し、 attractorの下流に接続する

※この時、dragノードの可視性をオンにしないと効果が見えないので注意

20140413_01_4

タイムレンジを変更する

デフォルトのタイムレンジ 0〜240フレームの間では収束が確認できないのでタイムレンジを変更する。

Global Animation Options ウインドウを開き、Endフレームを500〜1000程度にし、Applyで決定する。

この時、現在あるキーを新しいタイムレンジにフィットさせるか聞かれるので、必要に応じたオプションでメニューを閉じる。

細かいパラメータ調整で気持よく終息するように調整する

収束の具合はpointノードの各種forceパラメータの調整で。

パーティクル放出のエクスプレッションを設定する

sourceノードのパラメータを設定

Impulse Activation = $F < 50
Impalse Birth Rate = $NPT
Const Activation = 0
Const Birth Rate = 0

※Impulseアクティベーションは放出を行う条件
※$NPTは、放出ソースに指定されているオブジェクトの頂点数

コメントを残す