第02回 速度場とCurl Noiseによる流れ
この回では、粒子がいる場所から移動速度を求め、空間全体に流れを作ります。同じ方向へ進む風と、Curl Noiseによる渦状の動きを組み合わせます。
第01回では、保存した位置から現在位置を直接決めました。今回は、現在位置から速度を求め、その速度で移動した先の位置を次の計算に使います。二つの仕組みを比べることで、形を指定する制御と、流れに沿って動かす制御の違いを確認します。
配布プロジェクト
この回に対応する配布プロジェクトは準備中です。配布状況は配布ファイルに掲載します。本文は、Unity 6.5とVisual Effect Graph 17.5.0の構成を対象とします。
本文にはGraphの構成と操作手順を掲載しています。対応する開始環境は準備中です。数値例の読み取りを先に行い、実機で制作する際は開始Scene・Graphと描画結果が確認された環境を使います。
この回のゴール
一方向へ流れる粒子に局所的な渦を加え、粒子群がまとまりのある流れを示すように調整します。粒子ごとに独立した乱数の方向へ飛ばす表示と比べ、空間に共通の流れを定義する意味を理解します。
- 位置を入力して速度を得る「速度場」を説明できます。
- 風の方向、渦の強さ、渦の細かさを分けて調整できます。
- 速度の設定と、経過時間に応じた位置の更新を区別できます。
今回のポイント
近くの粒子が共通の流れを参照します
速度場は、空間の各位置に速度を対応付けたものです。近い位置で似た値を返す場を使うと、近くの粒子にも関連した動きが生まれます。
Noiseを接続した理由を説明します
Curl Noiseは、渦状の方向の変化を作るために使用します。Noiseを追加しただけで完成とはせず、入力座標、出力のベクトル、その値を速度へ使う場所を確認します。
前期の炎・煙では、Noiseによる揺らぎを扱いました。この回では、その揺らぎを「空間のどこを読んでいるか」という視点から組み立てます。粒子の寿命や大きさ、透明度の基礎は、必要な箇所で短く確認します。