POP VOPで竜巻を作る3


こんにちは篠島です。前回の続きで竜巻を作りますが、カーブに対してパーティクルがどの位置にあるかによってVelocityを変更してみます。

 

今回のサンプルファイルです。
tornado_v3

まずは0-1の範囲の記事で説明したとおり、カーブに対して適当にalongという名前のアトリビュートを作り、カーブの最初から最後まで0-1の値を割り当てています。POP VOP内でカーブのポイントを後から参照できるようにidアトリビュートも作り、単純にポイント番号を割り当てています。

1

 

POP VOPの中身です。赤くしたノードが今回新しく追加したものです。Point Cloud Filter VOPでパーティクルから一番近いポイントのIDアトリビュートを取得し、それをImport Point Attribute VOPに繋いでalongアトリビュートを取得します。Import Point Attribute VOP はFileで指定したジオメトリの特定のポイントのアトリビュートを取得するものです。
alongアトリビュートは0-1の間の値が入っているのでRamp VOPを使ってリマップします。それをそれぞれのMultiply VOPに繋げてカーブに沿って動くベクトル、カーブの中心へ向かうベクトル、カーブの中心を元に回転するベクトルをさらに細かく調整できます。

2

例えばRamp VOPによってカーブの中心へ向かうベクトルを下のようにすると、パーティクルの動きはカーブの中心あたりで強く吸い込まれるようになります。

3

a

 

カーブに沿って動くベクトルのRamp VOPを下のようにすると、カーブの中間あたりで値が0になるのでこれ以上進まなくなります。

4

b

カーブの中心を元に回転するベクトルのRampを下のようにすると、カーブの中間あたりだけでパーティクルが回るようになります。

5

c

 

以上のようにカーブとRampを使って更に細かいVelocityの調整が可能なので色々と試してみましょう!