これは何?
最大1000粒の粒子で液体を計算し、WebGLで粒どうしをつないで1つの液面として描く水槽です。粒は近づきすぎると押し合い、離れすぎると引き合うので、跳ねたしぶきが丸い滴になり、また液面に戻ります。
使い方
- 「全部コピー」して貼り付け、
.ug-pourの高さを決めます。 data-ug-solidを付けた要素は、液体が通り抜けない板になります。いくつ置いてもかまいません。- 「注ぐ」で上から1.4秒注ぎ、「揺らす」で水槽を揺すり、「排水」で底の口を開け閉めします。
- スマホでは、指を少し止めるか横に動かすと注ぎ始めます。縦になぞったときはページのスクロールになり、注ぎません。
カスタマイズ
- 液体の色は
FS2のvec3(.16,.5,.05)(底の色)とvec3(.62,.86,.1)(上の色)です。 - 溜まる量の上限は
resize()の.0035(面積あたり)とMAX(1000粒)です。 - 硬さや粘りは
STIFF・NEAR・REST、重力はGRAVです。
注意
粒が増えるほど計算が重くなります。上限は水槽の面積に合わせて自動で決まり、スマホの小さな画面では少なくなります。板の位置は大きさが変わったときに読み直すので、板そのものを動かすアニメーションには追従しません。WebGLが使えない環境では、粒を丸で描く簡易表示になります。