PhysX を基礎となる物理ソルバーとして (SPH シミュレーションを使用して) 使用して、非フォトリアリスティックな水のレンダリングのデモンストレーションを開発しており、そのビジュアルを強化するために泡と液滴のレンダリングを追加したいと考えています。
最初に、隣接する粒子の数をしきい値として使用して、それらをグループ (水、泡、液滴) に分け、各グループを異なる方法でレンダリングしましたが、いくつかの研究論文を読んで、より物理に基づいたものを使用するという結論に達しました。アプローチの方がよいので、ウェーバー数を入力します。
次のパラメーターは、ウェーバー数を取得するために使用されます。これらはすべて、特定の粒子または流体全体に関連しています。
- 密度
- 相対速度 (周囲の空気との関係)
- 特性長さ
- 表面張力
密度と相対速度は PhysX によって提供されており、既に取得しています。密度は float 値ですが、速度は 3D 空間の各軸 (x、y、z) に対応する 3 つの float 値のベクトルです。特徴的な長さと表面張力は提供されていません、タフです(または、提供されている場合、それらを取得する方法がわかりません)。
だから、私の質問は次のとおりです。
- ウェーバー数は浮動小数点値でなければならないので、それをしきい値として使用して粒子をグループに分けることができると思います。ここでの最初の問題は、取得するには PhysX によって提供される相対速度を使用する必要があることです。これは 3 つの float 値を持つベクトルです。このベクトルの単一の float 値を取得して、ウェーバー数を求める方程式で使用するにはどうすればよいですか?
- いくつかの研究論文 (特に、セクション 3.2.1 のこの論文)を読んで、粒子の特性長と表面張力に固定値を使用することにしました。問題は、どの値を使用すればよいかということです。これらに理想的な値があると仮定すると、これらの理想的な値に到達するにはどうすればよいでしょうか?