Bifröst 順応性(Adaptivity)アトリビュート

適応性(Adaptivity)アトリビュートは、bifrostAeroProperties アトリビュートと bifrostLiquidProperties アトリビュートの両方にあります。これらのアトリビュートは、必要がない場合はメモリや計算時間を無駄にせず、必要なタイミング、必要な状況で最も詳細に表示するために解像度を自動的に調整する目的で使用することができます。

空間(Spatial)

有効化
液体シミュレーションの場合、このオプションによって、通常は詳細が必要ではない流体の中心部分のボクセルを低くすることができます。衝突オブジェクトの境界や自由サーフェスに沿って高速移動する領域内(つまり大気との境界)ではマスター ボクセル サイズ(Master Voxel Size)で設定する最大解像度が保持されます。「空間適応をコントロールする」を参照してください。
Aero シミュレーションでは、このオプションの効果を得るために 1 つまたは複数の適応メッシュが必要です(「適応メッシュを使用する」を参照してください)。最大ボクセル解像度は、適応メッシュの内部で使用され、他の場所では低い解像度が使用されます。
一般的に、メモリと計算時間を短縮するには、問題が発生しない限り、このオプションをオンのままにしておく必要があります。
多すぎるパーティクルを除去する(Delete Exceeding Particles)(液体のみ)
解像度の低い領域でボクセルごとのパーティクル数がしきい値を超えると、一部のパーティクルを除去します。ボリュームが失われたり、空間適応シミュレーションと非適応シミュレーションの差が大きすぎる場合は、このオプションをオフにします。

転送(Transport)時間ステップ(Time Stepping)

転送(Transport)設定および時間ステップ(Time Stepping)設定では、各フレームで計算が実行される回数をコントロールします。反復回数を多くすると精度が高くなりますが、計算時間が長くなります。ボリュームの損失、パーティクルの密集、自然爆発、コライダ間の漏れなどの問題が発生する場合は、これらの設定を調整します。

  • 転送(Transport)設定では、圧力計算実行後に、ボクセルの速度フィールドに沿ったパーティクルの移流に使用する反復回数をコントロールします。固定コライダの間をパーティクルが通過してしまうなどの問題が発生している場合は、最初にこれらの設定を調整することをお勧めします。これらの設定で、余分な計算時間をかけずに問題を解決できる可能性があります。ただし、それぞれの反復で、圧力の再計算とコライダやその他のソリッドの再ボクセル化は行われません。つまり、高速で移動するコライダや、その他のより複雑な状況では転送(Transport)設定は効果がありません。
  • 時間ステップ(Time Stepping)設定では、フレームごとに、ボクセル化、圧力、転送フェーズなどのシミュレーション全体の反復回数をコントロールします。これらの設定によって、特に高速時の精度が高まりますが、計算時間がかなり長くなります。

転送(Transport)設定で各時間ステップ内の転送フェーズの反復回数をコントロールできるように、これらの設定のコントロールは 2 つ合わせて機能します。つまり、各フレームには時間ステップ(Time Stepping)設定に応じて複数の時間ステップを含め、各時間ステップには転送(Transport)設定に応じて複数の転送ステップを含めることができます。

両方の設定のコントロールは、同じように機能します。
  • 少なくとも最小ステップ(Min Steps)分の反復がフレームごとに常に実行されます。つまり、パーティクルがそれほど高速で移動していない場合でも、ある程度のサブステップ数を強制することができます。ただし、不要な計算を回避するために、通常は順応性(Adaptivity)を調整することをお勧めします。
    注: 1 回の反復だけがシミュレーションの開始フレームで実行されます。
  • 順応性(Adaptivity)の値で、追加のサブステップをトリガするかどうかコントロールします。フレームでパーティクルが移動する距離や速度に応じて、そのフレームで実行される反復の回数を変えることができます。値は、ノンリニア スケール上にあります。
    • 0.0 の値では、パーティクルは追加のサブステップをトリガすることなく、効果的に無限の距離を移動することができます。
    • 0.1 の値では、パーティクルは追加のサブステップをトリガする前に、最大 10 ボクセル分の長さを移動することができます。
    • 0.32 の値では、パーティクルは追加のサブステップをトリガする前に、約 5 ボクセル分の長さを移動することができます。
    • 0.5 の値では、パーティクルは追加のサブステップをトリガする前に、最大 1.0 ボクセル分の長さを移動することができます。
    • 0.75 の値では、パーティクルは追加のサブステップをトリガする前に、約 0.5 ボクセル分の長さを移動することができます。
    • 1.0 の値では、パーティクルは追加のサブステップをトリガする前に、最大 0.001 ボクセル分の長さを移動することができます。

    設定を調整するときに、順応性(Adaptivity)を一度に大きくしすぎないように注意してください。特に 1.0 に近い値の場合は注意が必要です。これを行うと、計算時間が必要以上に長くなることがあります。

    また、距離はボクセルの長さで指定することにも注意してください。つまり、マスター ボクセル サイズ(Master Voxel Size)を小さくすると、任意の速度でパーティクルに対して余分な反復がトリガされる可能性があります。

  • 最大ステップ(Max Steps)を超える回数の反復がフレームごとに実行されることはありません。これにより、実行される計算の合計時間が制限されます。
  • ただし、パーティクルは常に、その速度とフレームの長さに必要な距離全体を移動します。つまり、パーティクルは順応性(Adaptivity)によって設定された制限に従わない場合があります。たとえば、順応性(Adaptivity)を 0.5 に設定していても、最大ステップ(Max Steps)が非常に少ない場合は、高速のパーティクルは 1 ボクセル分の長さのステップの距離全体に対応できないことがあります。この場合は、距離全体を移動するために、各ステップは 1 ボクセル分の長さより長くなります。
転送のタイム スケール(Transport Time Scale)(転送(Transport)のみ)
パーティクル フローのスピードを変更します。値を 1.0 より大きくすると、新しい速度や加速度を生じることなくフローのスピードが速くなります。値を 0.0 と 1.0 の間にすると、スピードが遅くなります。

結果は物理的には正しくありませんが、シミュレーションをすばやくリタイムするだけの場合は役に立ちます。特に極端な設定の場合には不要な副作用が生じる可能性があるため注意してください。