流体シミュレーション
Unityには流体シミュレーションの機能が存在しません。
なので、シェーダーを使って自分でプログラムを書く必要があります。
今回は、オープンソースプロジェクトをもとに、色のついた流体を表現できるように改造し、
画像から流体を生成することもできるようにしました。
仕組み
元の流体シミュレーションのプログラムでは、濃度の情報しか持っていません。
RGBAの色の情報を濃度の情報と同じように動かすと、色のついた流体を作ることができます。
画像から流体を生成する場合は、画像の色情報にそって、色のついた流体を生成します。
ダウンロード
Unity Fluid Took Kitのリポジトリに含まれています。
github.com
Unity Fluid Tool Kitでできること
流体シミュレーションを使うと、シャボン玉の膜なども作ることができます。
また、障害物の追加や熱による対流もシミュレーションすることが出来ます。
nekodigi.hatenablog.com
参考
Unity ShaderLabによるGPU GEMの実装
github.com
GPU GEM
developer.download.nvidia.com