ストリード
「疑似流体制御」仮

実際には実用化してる技術ではあるんだが、まあもしかしたらで。
追加、ウォーターラインボードとか。なんかちょっと違う気もするが考え方はなんか。


2014/12/23
森宮 照


プロデューサーシート
タイトル「疑似流体制御」仮
 概略 3Dでの流体制御

コンセプト「自然な水たまり」

ハード的テーマ「流体の再現」肯定否定
 MMDレベルでの、ゲームにも使える様な流体表現

ソフト的テーマ「実用的速度」否定肯定
 リアリティは大事だが、一応は速度優先

目的 3Dシーンでの実用的速度を持つ流体表現の実現
それは無い 水に見えない

ディレクターノート
疑似流体制御。
ボールを制御するのでは無く、頂点を制御する、感じ。

流体設定された”頂点”を見る(流体頂点)。
その頂点は、同一の流体に対しては体積距離を取ろうとする(体積に相当する一定距離以上は近づけない)。
”接続している”と認定される一定距離(体積距離の倍くらいは遠くていい)で密集してる流体頂点を洗い出し、その外周に頂点を経由しポリゴンを張る。
流体頂点は、設定されたポリゴンに対して物理演算的な挙動を行う。

立体に足りない(4個以下の)頂点でだけ独立してる塊は平面になってるから、そこは適当な厚みでメタボール的処理を行う。
1個の場合は地形で変形する玉、2個の場合は地形で変形する棒。3個の場合は地形で変形する三角形の板。4個以上になったらその外周にポリゴンを張ってしまいポリゴン化してしまう。
>その場合、地形ポリゴンに衝突>頂点が判断し、4個以上の頂点が結合状態なら地形ポリゴンの限界まで接近するとか>切り離された時点でちょっと浮く感じ>

まあ、体積設定(隣の水分子との距離)を上手くやれれば少ない頂点数で水っぽく成るか?的な。外周に接触する場合、頂点は「外周の頂点ポリゴンに密着したがる」ただ、そこに既に流体頂点が居るならその限りでは無い、とか。

頂点のコンディションでテクスチャーなどを変えてやれば泡などの表現も可能では無かろうかとか。

追加。
「ウォーターラインボード」
 ”水面”を表現するポリゴンのメッシュ板。設定で、波打つ様を表現できるし、専用の”水槽オブジェクト”の接触で、その部分のポリゴンは消滅し、境界線の頂点は「疑似流体として」認識される様になる。
「水槽オブジェクト」
 流体を溜める事が出来る水槽の様なオブジェクト。実際には表示されない疑似的な物で、近くに疑似流体がある時、疑似流体は”これ”を都合よく無視するので、疑似流体はウォーターラインと一致してしまう。

実際
 A.まず、適当な大きさの水槽オブジェクトを創り、そこに疑似流体を満たす。そこに、適当な船?などを浮かべる。
 B.ウォーターラインボードで、水面を表現する。
 Bの上に、Aを適当な位置に合わせて出現させる。すると、Bのウォーターラインは水槽の範囲だけ消えて、水槽の中の疑似流体の方が見える様になる。その外周は、Bのウォーターラインと接触しシームレスになる(筈)なので、少ない頂点数でも水の上を進む船の表現が可能になる?

end