のぐそんブログ

暗いおじさんがシコシコ書くブログです。

マウスにパーティクルが追従するような演出

はじめに

この記事は、TouchDesigner Study WeekendというTouchDesignerの勉強会で学んだことのまとめです。 TouchDesignerは私のような初心者は高機能すぎて、何をしたらよいのかわからなくなることが多いのでこの勉強会は貴重だと思っています。

完成イメージ

今回の完成イメージはこちらです。

パーティクルを作る

パーティクルは特別なことはしません。

Grid SOPで頂点を作成して、Particle SOPにつなぎます。

ここでのポイントは2つあります。 ①sort SOPのPoint SortRandomに設定して、パーティクルの発生順をランダムにする ②particle SOPのcompute NormalsOffにする

特に②が重要です。 particle SOPはデフォルトでは、法線方向に移動するようになっています。 その為移動させたくない場合は、compute NormalsOffにする必要があります。

Render TOPにつないで描画する

ここも特別なことはしません。 Geometry、Camera、LightとRender TOPをつなぎます。 materialは好みで付けます。 ここではConstant MATを設定しています。

ここまでくると以下のような表示になります

パーティクルを移動させる

ここからが今回の演出のポイントです。

パーティクルを特定の位置に移動させるためには、particle SOPの3つ目の入力口(input2 Force)を利用します。 Forceに設定された値に対して、パーティクルの移動が起こります。

ForceにはForce SOPを設定します。 構成は以下になります。

ポイントは、 ①Force SOPの入力はMetaball SOPのみです(少し例外もあるようですが)。 ②Metaball SOPの範囲が、Forceの影響範囲になります。 ③Radial Forceにチェックがついていると、メタボールの中心に向かってフォースが起こります。

マウスに追従させる

最後にメタボールの位置と、マウス座標の位置をあわせます。 これでパーティクルがマウスに追従するようになります。

まずはマウス座標をMouse In CHOPでマウスの座標を取得します。 だた、マウスの座標は-1.0 ~ 1.0の範囲の値になる為、Math CHOPを利用して値を調整します。

そして最終的にできた値をMetaball SOPのcenterに入れます。

これで完成です。

サンプルファイル