Bifröst シミュレーションの解像度と精度をコントロールする

Bifröst シミュレーションの解像度と精度をコントロールするアトリビュートはいくつかあります。最も重要な 1 つは Master Voxel Size ですが、転送ステップやパーティクル分配だけでなくコントロール オブジェクトのボクセル化も調整することができます。

Master Voxel Size

bifrostLiquidContaineノr ードの Master Voxel Size アトリビュートは、液体とエミッタの全体の解像度をコントロールします。値はワールド空間単位であり、適切な値はシーンのスケールに依存します。値が小さいほどディテールが細かくなりますが、より多くのメモリと計算時間が必要になります。

通常、各種設定を調整するときにすばやくプレビューを得るため、非常に高い値を使用します。ただし、正確なプレビューのためには、シミュレーションの最小のフィーチャよりも小さい値にする必要があります。たとえば、コライダで 0.2 単位の穴から液体が排出されるようにする場合、Master Voxel Size は 0.1 以下にする必要があります。

シミュレーション全体のフローに満足したら、Master Voxel Size を小さくして液体をレンダーしたり高い解像度でメッシュを生成することができます。

ボクセル化

エミッタ、コライダ、およびアクセラレータにはそれぞれ、メッシュのボクセル化の方法をコントロールする Conversion アトリビュート グループがあります。
  • 最適な結果を取得するために、プレーンやその他の薄いオブジェクトの場合、モード(Mode)シェル(Shell)に設定し、厚み(Thickness) (アクセラレータの場合は減衰帯域幅(Falloff Bandwidth))を 1.0 以上に設定する必要があります。
  • 複数のボクセルを含めるのに十分な厚みがある固体の場合、モード(Mode)固体(Solid)に設定する必要があります。Thickness (または Falloff Bandwidth)を 0.¥0 に設定してメッシュ サーフェスのより近くを追跡したり、負の値に設定して法線に沿ってボリュームを縮小することができます。ただし、コライダやその他のオブジェクトの「穴」に問題がある場合は、この値を大きくしてみてください。

CollisionおよびAcceleration Voxel Scale

bifrostLiquidContainer ノードの Collision および Acceleration アトリビュート グループの Voxel Scale アトリビュートでは、すべてのコライダとすべてのアクセラレータのそれぞれのボクセル化を追加でコントロールできます。これらは、Master Voxel Size の乗数として機能します。
  • 1.0 より大きい値にすると、より粗いボクセルになります。正確な衝突または加速度が必要ない場合にこれを使用すると、液体自体では同じ解像度を維持したまま、メモリ要件を軽減し、計算速度を上げることができます。
  • 0.0 ~ 1.0 の値にすると、より細かいボクセルになります。これは、衝突または加速度にはより高い精度が必要だが、全体の解像度は上げたくない場合、たとえば細い煙突や細いジェット機がある場合に役立ちます。

転送ステップ

ボリュームの損失、パーティクルの密集、自然爆発、コライダを通した漏れなどの問題が発生した場合、bifrostLiquidContainer ノードの放出(Emission)グループにある転送ステップ アトリビュートを調整してみることをお勧めします。これは、高速で移動するシミュレーションを処理する場合に特に当てはまります。

転送ステップの順応性(Transport Step Adaptivity)を増やすとパーティクルの移動がより多くの時間サブステップに強制的に分割され、計算速度は低下しますがより精度の高いシミュレーションとなります。非常に高速で移動するシミュレーションの場合、Max Transport Steps を増加させる必要があることもあります。

パーティクル配分(Particle Distribution)

bifrostLiquidContainer ノードの Particle Distribution グループのアトリビュートは、液体のサーフェスと内部のボクセルあたりのパーティクル数と、サーフェス レイヤの深さをコントロールします。一般的に、パーティクルが多いほどディテールが細かくなり、その犠牲としてメモリ要件が高くなり計算速度が低下します。通常、サーフェスはレンダーまたはメッシュ化される対象であるため、必要なパーティクル数はサーフェスよりも内部のボクセルで少なくなります。

時間ステップ

高速で移動する衝突オブジェクトを使用すると、ボリュームが失われるなどの問題が引き続き生じる場合は、BIFROST_GRAPH_STEP_ADAPTIVITY、BIFROST_GRAPH_STEP_MAX、BIFROST_GRAPH_STEP_MIN 環境変数と時間ステップを有効にすることができます。詳細については、「Bifröst 環境変数」を参照してください。

注: 1 回の反復だけがシミュレーションの開始フレームで実行されます。