Fusion

軌道を設定してParticleを操作してみる

自分の意図した軌道に沿ってParticleを操作してみたいなと思い調べていたところ、Simon UbsdellさんのYouTubeチャンネルでリサジュー図形に沿ったParticle操作のチュートリアルを公開されているのを見つけたので、以下の動画を参考に3つの点がらせん状に縦に上っていく軌道を設定しParticleを操作してみました^^

ノード構成(Settingファイル)はこちらからダウンロードできますので、自由にご利用ください。(Particleが結構重めです)

ノードは次のような考えで構成しています。

  • Particle生成のためのノードを左上に配置。pBounceは地面でParticleが停止するために適用し、pTurbulenceで若干Particleが時間とともにばらけるようにしてこれを3色分用意しています
  • 左下のノードは地面を構成するための画像やBackgroundノードなどを配置して、Blinnを通してShape3D(地面)に渡しています。LumaKeyerで光の反射具合をちょっとだけ調整しています
    • 画像はBEIZ imagesさんから「セメントのテクスチャ背景」を使用させていただいています
  • 中央のほうにあるShapeはぐるぐる回っている球体(Sphere)を定義していて、1つメインとなるものからインスタンスを2つ作成しています
  • メインとなるShapeのTransform>Translationの設定に次の式(Expression)を登録しています
    • X軸:sin((time)/25)/4
    • Y軸:tan(time/1500)
    • Z軸:cos((time)/25)/4

基本的な考え方として sin(time) のように記述することで波(軌道)を設定できること、timeに値をかけたり割ったりすることで変化させられることがSimon Ubsdellさんの動画でわかったので、いろいろと数字を入れて、割ったり掛けたりして(かなり人力で)上記の式を求めました。

そのままだと波の幅が太かったので、4で割って少しスリムにしています。

Y軸は単位円で考えるとx=1の線にぶつかったY座標を示すtanで表してみて、X軸とZ軸はsinとcosでいい感じの波形になるかなと思って設定してみました。

  • その他の3Dノードは、ライトやカメラを設定しています
  • Render3Dノードは2つ用意していて、全体のレンダーとParticleだけのレンダー+Blurで味付けを行って最後にマージしています

ちなみに、三角関数を思い出すきっかけになったのは予備校のノリで学ぶ「大学の数学・物理」チャンネルのこの動画です^^ とても面白かった!

この調子でいろんな式をうまく使って座標をコントロールできたら楽しくなりそうです。

以上です!