液体シミュレーション的ななにか

=前置き=

「玉が近づいたら直線でくっつけるようにすれば液体に見えるんじゃねーの?」という思いつきから、液体シミュっぽいなにかを作ってみた。

Flash


3つ上げてみたけど、3つ同時に実行すると重いので注意。


1つ目。白い玉をドラッグしてくっつけられる。アルゴリズム的には「円同士が重なってたら、一定距離を保つように力をかける」「円同士が重なってたら、その円を直線で結ぶ」という単純なものだが、案外「水のぷるぷる感」みたいなのが出てる。
いくつかくっつけると勝手に移動し始めるのは仕様ということで。




2つ目。ゲームで使うことを想定して「Box2D」に「水滴同士の引力」を加えてみたもの。水というよりはゼリー状の何かが流れてるような感じになってる。




3つ目。二つ目を作ってる途中でできたもの。「描画のリセット」を忘れているため、白い画像が残ったままになっているが、むしろこっちのほうが液体っぽい。これをマスクなりなんなりにして、流れを付け加えれば液体っぽく見えるかも。




=予定=

3つ目の改良をしようとしたところで「画像にベクトルを保存する」という「ベロシティマップ」を思い出し、そっちの方の興味が高くなってしまったので、液体シミュとは別のものをまた作成中。水曜日には上がる予定。