Point Cloud Openを使ってパーティクルを制御してみる


どうも篠島です。ポイントクラウド関連の話が続いてきたので、これを使ってパーティクルを制御してみます。今回はPoint Cloud Filterを使ってパーティクルをカーブに添わせる原理を説明します。Point Cloud Import を使っても良いですが、読み込むポイントが一つだけの場合は Point Cloud Filter を使ったほうが簡単です。

 

 

今回のサンプルファイルです。
pop_pcfilter.zip

下の図の様にCurve SOPでカーブを書いて、Resample SOPでポイントを多数配置し、Poly Frame SOPでTangentを元に法線の向きをカーブに沿わせています。そのままだと法線が好ましくない方向を向いていたのでWrangle SOPで法線を反転させています。

12

さて、肝心のPOP用のネットワークは下のようになります。POP VOPを使い、Point Cloud Open でそれぞれのパーティクルか一番近いポイントを一つだけ探し出します。そして Point Cloud Filter で N を指定し、先程作ったカーブのポイントからの法線を取得するのです。そしてそれをVelocity として出力します。要はそれぞれのパーティクルの速度はカーブの法線と同じになる、すなわちカーブに沿って動くということです。
ここで気をつけたいのがPOP VOP内でSOPで作ったカーブジオメトリを読み込むために、InputsタブからSecond Context Geometry を選びます。これはDOP Networkの二つ目に繋がったインプット、すなわちカーブのジオメトリになります。これがPOP VOPのグローバルパラメーターのOpinput1から読み込めるようになります。なのでPoint Cloud OpenのFileインプットにはOpinpt1を繋いでいます。

3

 

さてパーティクルの結果を見てみると、ぎこちない動きですがカーブに沿って動いてるのが分かります。POP VOPでForceに繋ぐと動きはもっと滑らかになりますが、その場合 POP Drag で速度を落とすのを忘れずに。

a