ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

Unityで画像からカラフルな液体を作る

www.youtube.com

流体シミュレーション

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