Bifröst 泡のプロパティ ノードには、泡パーティクル シミュレーションのコントロールが含まれています。
泡シミュレーションのオン/オフを切り替えます。
ボクセルあたりに生成する放出ポイントの数を秒単位で設定します。この値を大きくすると、生成される泡パーティクルが多くなります。
液体の速度ベクトルに基づいて泡の放出(m/s)をトリガするしきい値です。この値が小さいほど、より多くの泡パーティクルが生成されます。液体の領域の移動を速くすると、放出されるパーティクルが多くなります。
液体の回転と角運動量に基づいて泡の放出(m/s)をトリガするしきい値です。液体の最小かくはん(Min Liquid Churn)は 0 から 2 の間の値に設定します。値を小さくすると放出される泡が多くなります。
Bifröst では、かくはんすると、液体はサーフェスの法線に対して垂直に回転します。たとえば、うねる波の曲率の回転や、洗濯機のかくはん機の水流から、かくはんを生成することができます。より多くのかくはんを設定した液体の領域が、最大数のパーティクルを放出します。
液体のサーフェス上の曲率の形成に基づいて泡の放出をトリガするしきい値です。この値が小さいほど、より多くの泡パーティクルが生成されます。
液体の曲率は、波をうねらせることで生成されるシェイプなど、液体サーフェス上のシェイプのことです。最も急なカーブを設定した液体の領域が、最大数のパーティクルを放出します。
泡パーティクルを放出する、液体内のボクセル領域の上部をボクセル単位で設定します。値を 0 にすると、液体サーフェスが放出領域の最上部として設定されます。
泡パーティクルを放出する、液体内のボクセル領域の下部をボクセル単位で設定します。ゼロ以外の正の値は、放出領域の下部を液体のサーフェスより下に設定します。一般的な泡エフェクトには 3 の値を使用します。
泡の放出ポイントと衝突オブジェクトなどの閉じた境界の間の距離をボクセル単位で設定します。
ボクセルの放出ポイントと衝突オブジェクトの間の境界を保持するためには、0~1 の範囲の値を使用します。液体サーフェスの下で泡(バブル)を放出するには、ソリッドの最大深度(Max Solid Depth)を負の値に設定し、液体の最大深度(Max Liquid Depth)を大きくします(10 以上など)。
放出時に液体のサーフェスにパーティクルをスナップします。こうすることで、液体のサーフェスの下にパーティクルが放出されるのを防ぐことができます。
1.0 に設定すると、パーティクルは液体サーフェスにスナップします。0 に設定すると、パーティクルは影響を受けず、浮力をパーティクルの上向きのモーションに向けることができます。
オンの場合は、自己衝突とボリューム保持の計算に隣接タイル内の泡パーティクルが使用されます。これによりシミュレーションの精度が増し、とりわけ厚みのある静的な泡でのタイル間の可視境界のアーティファクトを除去することができます。
隣接タイルを評価(Evaluate Neighbor Tile)を計算するには、ボリュームを保持(Preserve Volume)をゼロ以外の値に設定する必要があります。隣接タイルを評価(Evaluate Neighbor Tile)をオンにすると、シミュレーション時間が増加します。
非圧縮性計算を使用してオーバーラップしている泡パーティクルを解決するソルバ方法で、SPH (smoothed-particle hydrodynamics)に似ています。この方法は、小さいスケールの液体での泡シミュレーションの精度と現実味を高めます。
結合されたパーティクルのオーバーラップ密度がターゲットの密度(Target Density)の設定値よりも小さい場合、パーティクルが互いに引き付け合います。パーティクルのオーバーラップ密度がターゲットの密度(Target Density)の設定値よりも大きい場合、泡パーティクルは互いに反発します。
圧縮モデル(Compression Model)方法の計算を泡シミュレーションにどのように適用するかをコントロールします。この値を大きくすると、パーティクルが互いに反発する前に、より多くのパーティクルをオーバーラップすることができます。
一般的な泡シミュレーションでは、0 から 2 の間の値を使用します。値が大きいほど(10 など)、パーティクルの配分がより滑らかになります。大きい値を使用する場合、ポイント半径(Point Radius)を増やしてパーティクルの高いオーバーラップ密度を補う必要があります。これにより、計算により時間をかけることで、精度が増します。
液体の速度に基づいて、放出された泡パーティクルに加速度を適用します。
1 に設定すると、泡パーティクルは液体の速度ベクトルと等しい速度で放出されます。値を 1 より大きくすると、泡をスプレーとしてサーフェスに噴射することができ、値を 1 より小さくすると、パーティクル速度が弱まります。
液体コンテナの重力のマグニチュード(Gravity Magnitude)をスケールし、泡パーティクルに適用する値です。
泡マスクの入力メッシュの周囲に、減衰領域をボクセル単位で設定します。マスク周囲の放出境界をソフトにするには、この値を大きくします。
泡パーティクルの密度が失われる率です(秒単位)。液体サーフェスまたはサーフェスより上にある泡パーティクルが消散します。液体サーフェスの下のパーティクルは消散しません。
泡パーティクルの除去をトリガする密度のしきい値です。
液体サーフェスの下のパーティクルには、液体の最大深度(Max Liquid Depth)に 1 を加算した密度が設定されます。サーフェスにあるパーティクルの密度は 1、サーフェスより上のパーティクルの密度は 1 より小さくなります。
液体が高速で移動する暴風雨で、パーティクルをサーフェスに急浮上させるために浮力(Buoyancy)を大きくすることができます。浮力(Buoyancy)を大きくすると、パーティクルは、消散しないバブルのようにサーフェスの下に残らなくなります。
衝突オブジェクトからの距離をボクセル単位で設定します。この距離で、パーティクルが衝突したときに、追加の消失エフェクトをトリガします。これは、衝突オブジェクトにトラップされたために液体サーフェスに浮上して消失できないパーティクルを除去する場合に役立ちます。
1 に設定すると、衝突するパーティクルは、設定されている消失率(Dissipation Rate)で消失します。0 または負の値に設定すると、パーティクルは、消失率(Dissipation Rate)より速い比率で消失します。
衝突無効深度(Collide Kill Depth)と消失率の関係は非線形です。たとえば、-0.5 に設定すると、10 の係数で消失が増加します。1 より大きい値にしても損失に目立った影響は生じません。衝突では、パーティクルが衝突オブジェクトの内部で 1 ボクセルより多くのボクセルを貫通しないように抑制されるからです。
泡パーティクルに適用する表面張力の量です。パーティクルを引き付ける力は、張力の半径(Tension Radius)で設定された領域内で機能します。0 ~ 0.1、より一般的には 0.01 ~ 0.02 の範囲の値を使用します。0.1 より大きい値は、ボールに泡パーティクルを発生させることがあります。
表面張力(Surface Tension)に任意のエフェクトを設定するには、ボリュームを保持(Preserve Volume)をゼロ以外の値に設定する必要があります。このエフェクトは小さいスケールの非乱流の液体で最も顕著になります。泡の表面張力(Foam Surface Tension)は、 圧縮モデル(Compression Model)と隣接タイルを評価(Evaluate Neighbor Tile)をオンにすると最適に機能します。
表面張力(Surface Tension)のアクティブな距離をボクセル単位で設定します。この距離はポイント半径(Point Radius)の乗数として計算されます。つまり、値 2 はポイント半径(Point Radius)の 2 倍の距離に相当します。
風(Wind)は液体サーフェスの上にある泡パーティクル上でのみ動作します。このエフェクトは、パーティクルの密度に比例します。風の影響は、高い密度で新たに放出されるパーティクルよりも、空中にハングされる傾向のある低密度のパーティクルへの影響の方が大きくなります。空気抵抗(Air Drag)を増やしても、シミュレーションに風(Wind)がある場合のパーティクルの動作に影響を与えます。
スプレーのエフェクトを大きくするには、Z 軸に沿って風(Wind)の量を増やし、空気抵抗(Air Drag)も増やします。
液体のサーフェス上の泡パーティクルにドラッグ フォースを適用します。これにより落下パーティクルの速度が、その密度に対して相対的に低下します。
低密度のパーティクルがドラッグによる影響を最も受けます。これによりパーティクルが空中により長くハングされ、霧のような動作になります。高密度のパーティクルもドラッグによる影響を受けますが、重力の影響をより強く受け、スプレーのような動作になることがあります。
シーン グリッド内の X および Z ベクトルに沿った秒単位の風の力の強さです。液体サーフェス(スプレー)の上にある泡パーティクルの方向を指示するには、風(Wind)を使用します。
オンにすると、パーティクルは各フレームでサーフェスにスナップされます。この設定は、液体のサーフェス上に泡を保持するために使用します。
液体サーフェスと、液体サーフェスから放出される泡パーティクル間の距離をシーン単位で設定します。
ゼロ以外の値に設定すると、ソルバはサーフェスのオフセット(Surface Offset)を使用して泡パーティクルが液体サーフェスの下または上かを判断します。
パーティクル間の距離がポイント半径(Point Radius)に等しくなったときに、パーティクルに反発フォースを適用します。
泡が予想どおり消散せずにコラプスしていることに気付いた場合や、パーティクルが積み重なって泡が厚くなりすぎている場合に、この値を大きくします。
ボリュームを保持(Preserve Volume)によって適用される反発フォースで使用するボクセル内の半径です。ポイント半径(Point Radius)は、シミュレートされたまたはレンダリングされた泡パーティクルのサイズを決定しません。
泡シミュレーションの全体的な密度に影響を与えずに、オーバーラップしたパーティクルを削除します。泡の放出の破裂が発生する、滝つぼなどの非常に混濁した液体内の過剰な泡パーティクル数を減らすには、オーバーラップの削減(Overlap Pruning)を使用します。
0 に設定すると、パーティクルは削除されません。値が 0 に近くなるほど、パーティクルが削除される前により多くのパーティクルをオーバーラップすることができます。値 1 では、オーバーラップした 2 つのパーティクルのうち、1 つが削除されます。オーバーラップの削減(Overlap Pruning)のエフェクトを強くするには、ポイント半径(Point Radius)の値を大きくします。
削除されたパーティクルの密度は残りの泡パーティクルに転送されます。これは、シミュレーションの全体的な密度を維持するには、泡オブジェクトの放出率と消失率を変更する必要があることを意味します。オーバーラップの削減(Overlap Pruning)は、圧縮モデル(Compression Model)がオンの場合には適用されません。
カメラの順応性のオンとオフを切り替えて、カメラからの距離に基づいてパーティクルの放出率の減衰を設定します。この値を大きくすると、カメラに近いほど多くのパーティクルが放出され、カメラから離れるとパーティクルが少なくなります。
順応性をオンにするには、カメラの順応性(Camera Adaptivity)をゼロ以外の正の値にします。0 に設定すると、カメラの順応性(Camera Adaptivity)はオフになり、すべてのカメラ関連アトリビュートは無視されます。値を 1.0 以上にすると、放出は 1/距離2 の率で減衰します。
適応カメラの視界によって定義された領域に泡の放出を制限します。これは既定でオンになっています。
適応カメラの視界を狭くしたり、広くしたりします。既定では、この値は最後に選択したカメラのビュー アングル(Angle of View)アトリビュートから取得されます。
この値はカメラ オブジェクトにロックされていないため、編集することができます。
適応カメラのフラスタムのアスペクト比を設定します。1.0 に設定すると、アスペクト比は正方形になります(長さと幅が等しくなります)。
これにより、必要に応じて、適応カメラのアスペクト比を、レンダー設定で個別にコントロールすることができます。
カメラのフラスタムの背後やエッジの周囲に放出されるパーティクルの領域をシーン単位で作成します。この設定は、アニメーション設定されたショットの後方にカメラを配置する場合に便利です。
カメラを高速で移動する場合に特に重要な、パーティクルの大きいバッファ領域を作成するには、この値を増やします。それ以外の場合は、新しく公開された領域内に表示される泡が薄くなりすぎることがあります。