見出し画像

マウスに追従するパーティクルを作る

Metaball SOP、Force SOP、Particle SOPを利用してマウスに追従するパーティクルを作ります。サンプルファイルはこちら

基本の3Dレンダリングのセットアップ

まずはBox SOPとPhong MATを使ったレンダリング環境をセットアップします。BoxはInstancingするので小さく設定します。

TouchDesigner 2021.15800_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe_ 2021_11_16 23_52_59

Particle SOPのセットアップとInstancing

次にParticle SOPを設定してInstancingします。ポイントはSort SOPでRandomを設定してランダムな位置から出現させること、SOP to CHOPのCustomを使ってvx、vy、vzを取得してInstancingのRotate to Vectorに入れて進行方向をBoxが向くようにすることです。

TouchDesigner 2021.15800_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe_ 2021_11_16 23_56_55

Metaball SOPとForce SOPで力場を作る

次にMetaball SOPとForce SOPを使ってパーティクルを引っ張る引力を作ります。その際、Mouse In CHOPでマウスの座標を送るのですがデバッグしづらいのでLFO CHOPで仮想のマウス座標を作成します。Metaball SOPのCenterをこのCHOPのtxおよびtyとリンクさせます。

次にForce SOPのDirectional ForceのVortex ForceとSpiral Forceを1に設定して回る力がかかるようにします。最後にParticle SOPの3つめの入力にForce SOPの出力を入れるとBOXのパーティクルが引っ張られるようになります。

TouchDesigner 2021.15800_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe_ 2021_11_17 0_04_00

SOP to CHOPして色と形を作る

SOP to CHOPでLifeを取得してそこからBoxのパーティクルのサイズを決めるScaleというパラメータを作ります。寿命と現在の年齢を取得してMathで正規化し、LookUp CHOPを使って最初と最後は小さく、寿命の真ん中ぐらいで最大のサイズになるように調整します。色はNoise CHOPでランダムで決まるように作成します。

TouchDesigner 2021.15800_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe_ 2021_11_17 0_12_46

仕上げ

Particle SOPやBox SOPのパラメータを変更して見た目を詰めていきます。また、パーティクルの出現位置を決めるSphere SOPの位置もランダムで代わるようにします。 最後にBlur TOPを使ったブルーム(光っているような表現)をつくります。

TouchDesigner 2021.15800_ C__Users_02oz_OneDrive_デスクトップ_NewProject.1.toe_ 2021_11_17 0_21_16


いいなと思ったら応援しよう!