On this page | |
Since | 18.0 |
パラメータを使って異なる炎や煙のルックを表現する方法に関する情報は、Pyroのルックデブを参照してください。
このノードは、Smoke Solver (Sparse)を拡張したものです。
Pyro Solverでは、追加のシミュレーション(炎の有無を取り込むflame
)を考慮し、いくつか形状決めパラメータを追加して、炎や煙のルックを細かく制御することができます。
セットアップ ¶
煙のシミュレーションに不可欠なビルディングブロックは、オブジェクト、ソルバ、ソースです。 Smoke Object (Sparse)ノードは、シミュレーションを進める時にソルバによって進展させるのに必須となるフィールドが入ったダイナミクスオブジェクトを作成します。 最も単純な煙のシミュレーションには、以下のデータが必要です:
-
煙が存在する箇所とその量を示す
density
スカラーフィールド。 -
浮力計算に使用する
temperature
スカラーフィールド。 -
煙の瞬間的な動きを取り込む
vel
ベクトルフィールド。
このソルバは、煙に見合った方法でこれらのフィールドを進展させる役割を担うのに対して、ソース設定は、そのシミュレーションの流れに沿ってこれらの量を注入する役割を担います。
例えば、煤煙(すす)ソースのdensity
またはtemperature
を次々と追加して熱い領域を発生させたいことでしょう。
詳細は、Pyroソーシングを参照してください。
Note
Sparse Pyro FX シェルフ下のツール群を使用することで、Pyro Solverを含んだセットアップを作成することができます。
Sparsity(疎ら) ¶
デフォルトでは、このソルバは Sparse モードで動作します。
つまり、active
フィールドで制御された興味のある領域にのみソルバで必要な計算が実行されます。
この領域は、 Advanced タブの Resizing サブタブ下にある Reference Fields パラメータによって構築されます。
このパラメータで指定されたフィールドのプラス領域が アクティブ としてフラグが立ちます。
次に、煙を広げるためのバッファを確保するために、この中間アクティブ領域を広げます。
例えば、 Reference Fields にdensity
を設定すると、このソルバは、煤煙(すす)が存在する領域とその周辺領域で処理を実行するようになるので、煙の可視領域に計算負荷を集中させることができます。
Sparseモードでの非アクティブ領域は、煙が自由に移動する真空として扱われます。そのため、お互いに向かって吹いている2つの煙があると、これらのアクティブ領域がマージするのに十分に近い間隔にならない限りは、これらの2つの煙は互いに完全に見えなくなります。
Advanced タブの Sparsity サブタブ下にある Enable Sparse Solving チェックボックスを無効にすると、 このソルバは Dense モードで動作するようになって、コンテナ全体で計算が行なわれます。 さきほどの2つの煙を例にすると、これらの煙は即座にお互いの存在に気づくようになります。 しかし、Denseモードは、いくつかのケースでは大幅に遅くなってしまいます。
Tip
Smoke Objectの Guides タブの Visualization サブタブ下にある Active Region チェックボックスを有効にすることで、アクティブなシミュレーション領域を表示することができます。
flameフィールド ¶
flame
フィールドには、流れによって輸送される(燃料などの)反応物の残りの寿命を格納します。
このフィールドは、ソースから補充され、Pyro Solverは、( Flames タブの設定に基づいて )その値を減らし、目的の出力を生成する役割を担います。
反応物が枯渇に近づくにつれて、それらの反応物は
-
煤煙(すす)を放出し(
density
フィールドに影響を与えるには Emit Smoke を有効にします)、 -
温度を上げ(
temperature
フィールドに影響を与えるには Add Temperature を有効にします)、 -
爆発を引き起こす(
divergence
フィールドに影響を与えるには Add Expansion を有効にします) ことができます。
さらに、flame
を視覚化用に(Smoke Object (Sparse)上の) Emission Field として、
または、レンダリング用に(Pyro Shader上の) Fire Intensity Field として使用することができます。
例えば、“若い”時に大量の熱を放出してから、使い果たされると煤煙(すす)を放出し始める反応物が欲しいとします。
値が1のflame
がソースになっている場合、これは次の操作で実現することができます。
まず、反応物が寿命の前半で温度出力を生成するように、Pyro Solverの Flames タブの Temperature セクションの Flame Range を0.5,1
に設定します。
次に、 Smoke セクションで、 Flame Range を0.1,0.4
に設定し、 Remap Flame チェックボックスを有効にして、 Flame Ramp をHill(丘)状のランプを使用します。
すると、反応物は、その寿命の範囲で煙を残すようになります。
Flame Ramp の両端点が0で評価されている限りは、指定した Flame Range 内でのみ煤煙(すす)が生成されます。
入力 ¶
Objects
動作させるSmoke Object。
Note
Sparseモードで動作させる時は、そのSmoke Objectの Enable Sparse Solving を必ず有効にしてください。
Advection
この入力に接続されたノードは、煙の正確なVelocityフィールドを使用することができるようになります。 例えば、Gas Advectノードを接続することで、そこに取り付けたジオメトリデータのポイントを煙に沿って移流させることができます。
Note
この入力を介してVelocityを変更するのは安全ではありません。 代わりに、 Sourcing または Forces の入力を使用してください。
Sourcing
この入力を使ってシミュレーションフィールドを変更します。 例えば、Volume Sourceを接続してソースを設定します。 この入力を介してSparseモードでアクティブ領域に影響を与えるソース設定を実行することが重要です。
Note
この時点でのactive
フィールドは最新ではありません。
そのため、Sparseモードで操作を実行できるようにしたいのであれば、 Forces 入力を使用してください。
Forces
この入力に接続されたマイクロソルバは、最終Pressure Projectionの前に実行されます。
この時点でのactive
フィールドは、 Stencil Field に対応したDOPsのステンシルとして使用することができます。
Note
この入力に接続されたノードを実行する前に、 Sourcing 入力で実行された処理を考慮してactive
フィールドが更新されます。
パラメータ ¶
Simulation ¶
Calculate Speed Field
有効にすると、タイムステップ毎にspeed
フィールドが計算されます。
このフィールドには、Velocityベクトルの長さが格納され、コントロールフィールドとして使用することで、取り付けられたマイクロソルバとシェイプオペレータの強さを減衰させることができます。
例えば、speed
をコントロールフィールドとして使用することで、動きの少ない領域の乱流効果を弱くすることができます。
Note
speed
は移流の後、且つ、フォース適用前に計算されます。
Time Scale
このソルバ内部の時間に対するスケール係数。
1
は通常速度で、1
より大きいスケールはシミュレーションを速く、1
未満のスケールはシミュレーションを遅くします。
Viscosity
Velocityフィールドに対するブラー係数。
0
の値は、隣接ボクセルを抵抗なしで異なる方向に移動させることができるので、より混沌とした乱流のルックが生成されます。
このパラメータの値が大きいほど、より一貫としたVelocityフィールドになるので、より流れるようなルックが生成されます。
Wind
受動風のVelocity。 このフォースは移流によって別に扱われるので、 シミュレーションVelocityフィールドは、この Wind の存在を反映しません。
Advection-Reflection ¶
Advection-Reflection
Advection-Reflectionは、Pressure Projectionが原因で失われたエネルギーをシミュレーションに注入することを試みます。 このオプションを有効にすると、流れの中の渦をもっとうまく維持させることができます。
Disabled
Advection-Reflectionを実行しません。 これは、爆発といった非ゼロのGoal Divergenceを伴うシミュレーションで推奨されている設定です。
Single-Project
タイムステップ毎にPressure Projectionを1回実行して、それによって除去されたVelocityコンポーネントを次のステップで追加します。 このオプションは、 Disabled よりも若干遅く、さらに、追加のベクトルフィールドをタイムステップ間で取り込む必要があります。
Double-Project
タイムステップ毎に2回のPressure ProjectionとVelocity移流パスを実行します。 このオプションは、 Single-Project よりもかなり遅いのですが、もっと良い結果と安定性を得ることができます。
Reflection Amount
Advection-Reflection が Disabled に設定されていない時に再注入されるPressre ProjectionされたVelocityの割合。 1に近い値ほど、エネルギーがもっとうまく維持されますが、不安定になる可能性があります。
以下の動画は Single-Project モードを示しています。
以下の動画は Double-Project モードを示しています。
Temperature ¶
Temperature Diffusion
temperature
フィールドに対するブラー係数。
値が大きいほど、温度がもっと拡散するようになって、熱い領域から冷たい領域への熱の広がりを模倣することができます。
Cooling Rate
temperature
フィールドがゼロに冷却される速さ。
Ambient Temp (K)
temperature
フィールドの0の値に相当する温度(単位はKelvin)。
これは、環境の周辺温度を表現します。
Reference Temp (K)
temperature
フィールドの1の値に相当する温度(単位はKelvin)。
これらの温度の範囲を使って、浮力が計算されます。
Note
一般的に、temperature
フィールドのT
値は、Ambient Temp (K) + T * (Reference Temp (K) - Ambient Temp (K))
の温度に相当します。
Buoyancy Scale
高温のガスは、膨張し、密度の低下によって上昇します。 浮力による加速度は、 Ambient Temp (K) と Reference Temp (K) の値、さらに Gravity 設定を使って計算されます。 このパラメータの値は、その浮力に対する乗数として使用されます。
Gravity ¶
Gravity Acceleration
重力による加速度。 重力が強いほど、浮力が強くなります。
Gravity Direction
重力が引っ張る方向。 熱いガスほど、これと反対の方向に上昇する傾向があります。
Density Influences Gravity ¶
Enable Density Influences Gravity
これを有効にすると、密度(または、他に指定されたシミュレーションフィールド)に基づいてスケールされた重力が流体に適用されます。 このタブのパラメータのデフォルト設定では、流体の密度が高い領域ほど、速く落下する効果があります。
Gravity Scale
流体に適用される全体の重力にスケールをかけます。
Density Field
重力のスケールに使用される流体シミュレーションフィールドを指定します。
Density Range
0-1
にマッピングされる Density Field の値の範囲。
Density Ramp
リマップされた Density Field に基づいて適用される重力制御のランプ。
Terminal Velocity
この値以上の重力方向のVelocityを持つ流体の部分には、重力が適用されません。 重力が原因で流体が予想以上に加速してしまっていることに気づいた場合、これを有効にしてください。 重力があまりにも早い段階で非アクティブになっているようでしたら、この値を上げてください。
Flames ¶
Pyro Solverのこのタブ内のパラメータは、flame
フィールドの進展、シミュレーションへのその影響を制御します。
flame
フィールドから生成可能な出力は、煤煙(density
フィールド)、熱(temperature
フィールド)、爆発(divergence
フィールド)の3つです。
各出力では、その出力量、出力を生成するflameフィールドの範囲、flameフィールドをリマップさせるオプションが用意されています。
まず最初に、flame
値を各出力の Flame Range から0-1
範囲に合わせます。
Remap Flame チェックボックスが有効になっていると、その0-1
範囲の値で、そのランプを評価します。
この数値と各出力の Amount パラメータを乗算して出力を生成します。
この出力は、最終的にターゲットフィールドにマージされます。
Flame Lifespan
flame
フィールド内の1
の値を使い果たすのにかかる秒数。
Smoke ¶
Emit Smoke
有効にすると、指定した Flame Range でdensity
がシミュレーションに追加されます。
Emission Amount
flame
フィールドから出力されるdensity
の量。
このパラメータは、リマップされたflame
値に対する乗数として機能します。
Merge Method
flame
フィールドの出力をdensity
フィールドにマージさせる方法を制御します。
Max
これら2つのフィールドの値の内、大きい値が取得されます。
このマージメソッドは、density
を累積させないようにすることができます。
Add
flame
フィールドの出力をタイムステップでスケールして、density
フィールドに加算します。
Flame Range
出力を生成するflame
フィールドの値の範囲。
まず最初に、flame
フィールドを、この範囲から0-1
範囲に合わせます。
Remap Flame チェックボックスが有効になっていると、その0-1
範囲の値で Flame Ramp を評価します。
最終出力は、このリマップされたflame
値と Emission Amount を乗算した値になります。
Remap Flame
有効にすると、( Flame Range から0-1
範囲の値に合わせた)flame
値で Flame Ramp を評価して、出力を生成します。
Flame Ramp
異なるflame
フィールド値で出力を制御するランプ。
Temperature ¶
Add Temperature
有効にすると、指定した Flame Range でtemperature
がシミュレーションに追加されます。
Temperature Amount
flame
フィールドから出力されるtemperature
の量。
このパラメータは、リマップされたflame
値に対する乗数として機能します。
Merge Method
flame
フィールドの出力をtemperature
フィールドにマージさせる方法を制御します。
Pull
flame
フィールドの出力がtemperature
値を超えた箇所で、そのtemperature
を出力に送ります。
このマージメソッドは、temperature
を累積させないようにすることができます。
Add
flame
フィールドの出力をタイムステップでスケールで、temperature
フィールドに加算します。
Strength
Merge Method が Pull に設定した時の、temperature
フィールドの値をもっと熱いflame
出力に送る強さ。
Flame Range
出力を生成するflame
フィールドの値の範囲。
まず最初に、flame
フィールドを、この範囲から0-1
範囲に合わせます。
Remap Flame チェックボックスが有効になっていると、その0-1
範囲の値で Flame Ramp を評価します。
最終出力は、このリマップされたflame
値と Temperature Amount を乗算した値になります。
Remap Flame
有効にすると、( Flame Range から0-1
範囲の値に合わせた)flame
値で Flame Ramp を評価して、出力を生成します。
Flame Ramp
異なるflame
フィールド値で出力を制御するランプ。
Expansion ¶
Add Expansion
有効にすると、指定した Flame Range で Goal Divergence フィールドがシミュレーションに追加されて、爆発を引き起こします。
Expansion Rate
flame
フィールドからのdivergence
量。量が多いほど、より激しい爆発になります。
マイナス値は、ガスを(外側に吹き飛ばすのではなく)内側に吸い込ませます。
Flame Range
出力を生成するflame
フィールドの値の範囲。
まず最初に、flame
フィールドを、この範囲から0-1
範囲に合わせます。
Remap Flame チェックボックスが有効になっていると、その0-1
範囲の値で Flame Ramp を評価します。
最終出力は、このリマップされたflame
値と Expansion Rate を乗算した値になります。
Remap Flame
有効にすると、( Flame Range から0-1
範囲の値に合わせた)flame
値で Flame Ramp を評価して、出力を生成します。
Flame Ramp
異なるflame
フィールド値で出力を制御するランプ。
Shape ¶
このセクション内にある設定を調整することで、生成される煙の形状を大きく変更することができます。 これらのパラメータの値に応じて、シミュレーション結果は、単純な層流状の煙の流れ、小さな炎、巨大な爆発といった形に変えることができます。
Dissipation(消散) は、煙が徐々に消えるようにするために、時間の経過と共にdensity
値を下げます。
Sparseシミュレーションを実行する時は、 Clamp Below パラメータに適切な値を設定することが重要です。
Sparseシミュレーションを実行する時には、 Clamp Below パラメータに適切な値を設定することが重要です。
そうしないと、微小なdensity
値が残存し、無駄にアクティブなシミュレーション領域を膨張させてしまいます。
Disturbance(擾乱) と Shredding(細断) は、ランダムなフォースを適用して、シミュレーションを離散させます。 Disturbance は、線形加速度を働かせて、滑らかな煙の表面を離散させるのに役立ちます。 Shredding は、Velocityを回転させて流れの向きを変えます。 Shreddingは、流れを加速も減速もさせることなく、混沌とした動きを追加するのに効果的です。 これは、特にShreddingが使用されていな時に炎が縦に伸びてしまったような炎のシミュレーションを横に広げるのに役に立ちます。
Turbulence(乱流) を使用することで、強力な大きなスケールのノイズをシミュレーションVelocityに追加することができます。
Wind は、煙を希望する方向に吹き飛ばすために使用可能な受け身な風力をシミュレーションします。 このフォースは移流で個別に扱われるので、そのシミュレーションのVelocityフィールドは、この風の存在を反映しません。
各シェイプオペレータには、それを有効にするかどうかのチェックボックスがあり、それを適用する強度を指定するためのスケール係数があります。
さらに、シェイプオペレータ別に詳細なパラメータを含んだタブが用意されています。
これらのタブで共通しているのは、 Control Field があるということです。
この Control Field を使用することで、各シェイプオペレータの強度を空間的に減衰させることができます。
Control Field を有効にすると、そこで指定したフィールドの値が Control Range から0-1
にマッピングされます。
Remap Control Field が有効な場合は、フィールド値が Control Ramp を介して渡されます。
リマップされたコントロール値は、グローバル強度のスケール係数として適用されます。
Dissipation
時間の経過と共に煙を消します。
値が低いほど、煙がゆっくりと消えます。
例えば、0.1
の値は、煙の10%
が1/24秒おきに消えるのに対して、1
の値は即座にすべての煙が消えます。
以下のDissipationタブを参照してください。
Disturbance
シミュレーションにランダムなフォースを取り込んで、全体的に動きや形状を変更せずに、より高い周波数のディテールを追加します。 このオペレータは、煙の望ましくない滑らかな特徴箇所を離散させるのに役立ちます。
以下のDisturbanceタブを参照してください。
Shredding
流れを加速も減速もさせることなく、ランダムにその流れの方向を変えます。 このオペレータは、特に炎のシミュレーションだと、縦に伸びてしまったような炎にランダムな動きを加えるのに役に立ちます。
以下のShreddingタブを参照してください。
Turbulence
Velocityフィールドに“Churning(かき乱された)”ノイズを追加します。 一般的には、このオペレータを使って強力で大きなスケールのノイズを追加し、より小さな特徴箇所に対しては Disturbance と Shredding を頼りにするべきです。
以下のTurbulenceタブを参照してください。
Wind
受け身な風をシミュレーションに追加します。 このフォースは移流で個別に扱われるので、そのシミュレーションのVelocityフィールドは、この風の存在を反映しません。
以下のWindタブを参照してください。
Dissipation ¶
Clamp Below
このオプションを有効にすると、指定した閾値以下のすべてのdensity
値が0
になります。
Sparseシミュレーションでは、このオプションを有効なままにすることを推奨します。
そうしないと、そうしないと、微小なdensity
値が残存し、無駄にアクティブなシミュレーション領域を膨張させてしまいます。
Control Settings ¶
Control Field
有効な時、行使されるフォースが、このフィールドの内容でスケールされます。
Control Range
この範囲のControl Fieldの値をマッピングします。
Remap Control Field
Control Fieldランプを有効または無効にします。
Control Field Ramp
ランプの垂直軸が エフェクトの強度 、水平軸が Control Fieldの値 です。
Disturbance ¶
Threshold Field
Disturbanceは、煙周辺の空気のランダムな動きを模倣するためにあります。 この目的のために、 Threshold Field が Cutoff 以下の値の箇所にのみDisturbanceが適用されます。
Cutoff
Disturbanceは、 Threshold Field がこの Cutoff 以下の値の箇所にのみ適用されます。
Mode
生成されるランダムなベクトルの特質を制御します。
Continuous
すべてのボクセルは、それぞれ無関係に割り当てられたランダムなベクトルを取得します。
Block-Based
ブロック単位では一定なノイズの層を何層かで合成することによって、ランダムパターンを形成します。
Reference Scale
このサイズの領域上に集約されるフォースの差異は、 Mode が Continuous に設定されている時の Disturbance 量と同じになります。 ここには、ボクセルサイズに対してフォースを正規化するためのスケールを指定します。 このパラメータの値が大きいほど、適用されるフォースが強くなります。
Tip
このパラメータは、あなたのシーンスケールに妥当な値を設定したら、あとはそのままにしてください。 グローバルの Disturbance 量を使用することで、適用するフォースの強さをもっと細かく制御することができます。
Base Block Size
Mode が Block-Based に設定されている場合、生成されるノイズパターンで一番大きいブロックのサイズを制御します。
Pulse Length
ノイズパターンが一定で維持される時間の長さ(秒)。 これは、 Mode が Block-Based に設定されている場合にのみ有効です。
Note
Continuous モードでは、ノイズパターンはフレーム毎に変化します。
Lacunarity
連続ノイズレイヤー間のブロックサイズの比率。
例えば、2
の値は、1番目のレイヤーが2番目のレイヤーの2倍のサイズのブロックを持ち、
順々に2番目のレイヤーは次のレイヤーの2倍のサイズのブロックを持つことを意味します。
このパラメータは、 Block-Based モードでのみ有効です。
Roughness
連続ノイズレイヤー間の振幅の比率。
例えば、0.5
の値は、2番目のレイヤーが1番目のレイヤーの半分の振幅を持つことを意味します。
このパラメータは、 Block-Based モードでのみ有効です。
Tip
Roughness の値が低いほど、生成されるノイズのブロック構造は上手く維持されます。
反対に、値が高いほど(1
に近づくほど、または越えると)ホワイトノイズに似た混沌としたパターンが生成されます。
Max Octaves
Block-Based モードで合成するノイズレベルの最大数。
Control Settings ¶
Control Field
有効な時、行使されるフォースが、このフィールドの内容でスケールされます。
Control Range
この範囲のControl Fieldの値をマッピングします。
Remap Control Field
Control Fieldランプを有効または無効にします。
Control Field Ramp
ランプの垂直軸が エフェクトの強度 、水平軸が Control Fieldの値 です。
Visualization ¶
Visualize Strength
このオプションを有効にすることで、空間内の異なるポイントで適用されるフォースの強さを可視化することができます。
Note
この強さは、 Visualization Field にも保存されます。
Visualization Field
Visualize Strength が有効な時、各ボクセルに適用されるフォースの量は、このスカラーフィールドに保存されます。
Mode
ビューポート内での可視化の方法を決定します。
Plane
ビューポートは、Strengthフィールドの断面をカラーコーディングして表示します。
Smoke
ビューポートは、適用されているStrengthが強い領域ほど密度の濃いFogボリュームを表示します。
Plane Orientation
Plane モードの切断平面の向き。
Plane Position
境界ボックス内の切断平面の相対位置。
Color Mapping
Strength値を Guide Range からカラーにマッピングする方法を制御します。
Guide Range
カラーに変換する前に0-1
範囲にマッピングさせるStrength値の範囲。
最終可視化カラーは、 Color Mapping で制御します。
Smoke Density
フォースの強さを表現したFogボリュームの密度に対する乗数。
Shredding ¶
Shredding Field
Shreddingは、炎に混沌とした動きを追加するためにあります。
この目的のために、 Shredding Field (デフォルトはflame
)の値を Field Range 範囲から0-1
範囲に合わせて、
その値をグローバルの Shredding 量に対する乗数として機能させます。
Field Range
Shredding Field 値は、この範囲から0-1
範囲に合わせて、その値をグローバルの Shredding 量に対する乗数として機能させます。
Base Block Size
Mode が Block-Based に設定されている場合、生成されるノイズパターンで一番大きいブロックのサイズを制御します。
Pulse Length
ノイズパターンが一定で維持される時間の長さ(秒)。 これは、 Mode が Block-Based に設定されている場合にのみ有効です。
Note
Continuous モードでは、ノイズパターンはフレーム毎に変化します。
Lacunarity
連続ノイズレイヤー間のブロックサイズの比率。
例えば、2
の値は、1番目のレイヤーが2番目のレイヤーの2倍のサイズのブロックを持ち、
順々に2番目のレイヤーは次のレイヤーの2倍のサイズのブロックを持つことを意味します。
このパラメータは、 Block-Based モードでのみ有効です。
Roughness
連続ノイズレイヤー間の振幅の比率。
例えば、0.5
の値は、2番目のレイヤーが1番目のレイヤーの半分の振幅を持つことを意味します。
このパラメータは、 Block-Based モードでのみ有効です。
Tip
Roughness の値が低いほど、生成されるノイズのブロック構造は上手く維持されます。
反対に、値が高いほど(1
に近づくほど、または越えると)ホワイトノイズに似た混沌としたパターンが生成されます。
Max Octaves
Block-Based モードで合成するノイズレベルの最大数。
Control Settings ¶
Control Field
有効な時、行使されるフォースが、このフィールドの内容でスケールされます。
Control Range
この範囲のControl Fieldの値をマッピングします。
Remap Control Field
Control Fieldランプを有効または無効にします。
Control Field Ramp
ランプの垂直軸が エフェクトの強度 、水平軸が Control Fieldの値 です。
Visualization ¶
Visualize Strength
このオプションを有効にすることで、空間内の異なるポイントで適用されるフォースの強さを可視化することができます。
Note
この強さは、 Visualization Field にも保存されます。
Visualization Field
Visualize Strength が有効な時、各ボクセルに適用されるフォースの量は、このスカラーフィールドに保存されます。
Mode
ビューポート内での可視化の方法を決定します。
Plane
ビューポートは、Strengthフィールドの断面をカラーコーディングして表示します。
Smoke
ビューポートは、適用されているStrengthが強い領域ほど密度の濃いFogボリュームを表示します。
Plane Orientation
Plane モードの切断平面の向き。
Plane Position
境界ボックス内の切断平面の相対位置。
Color Mapping
Strength値を Guide Range からカラーにマッピングする方法を制御します。
Guide Range
カラーに変換する前に0-1
範囲にマッピングさせるStrength値の範囲。
最終可視化カラーは、 Color Mapping で制御します。
Smoke Density
フォースの強さを表現したFogボリュームの密度に対する乗数。
Turbulence ¶
Swirl Size
基本のSwirl(旋回)サイズをワールド単位で設定します。 値が小さいほど、より小さい局所的な渦が増すのに対して、 値が大きいほど、密着した長い範囲のフォースが発生します。
Grain
連続するノイズ帯域間の振幅の比率を制御します。 値が大きいほど、(基本の Swirl Size より小さい)より高い周波数の渦の発生率が上がります。
Pulse Length
ノイズを進展させる速さを制御します。 このパラメータの値が大きいほど、ノイズの進展が遅くなります。
Seed
ノイズフィールドのオフセットとして機能します。 この値を変更することで、計算されたフォースの結果を修正することができます。
Levels
適用するTurbulenceレベルの数。 各レイヤーのレベルが上がるほど、Swirlサイズは前レイヤーの半分になり、振幅は前レイヤーに Grain をスケールした値になります。
Influence Field
このフィールドは、Turbulenceから影響を受ける領域を決定します。 具体的に言うと、このフィールドの値が Influence Threshold を超えた箇所でTurbulenceが適用されます。
Influence Threshold
Influence Field がこの閾値を超えた箇所でTurbulenceが適用されます。
Control Settings ¶
Control Field
有効な時、行使されるフォースが、このフィールドの内容でスケールされます。
Control Range
この範囲のControl Fieldの値をマッピングします。
Remap Control Field
Control Fieldランプを有効または無効にします。
Control Field Ramp
ランプの垂直軸が エフェクトの強度 、水平軸が Control Fieldの値 です。
Visualization ¶
Visualize Turbulence
このオプションを有効にすることで、適用されたTurbulenceフォースを視覚化することができます。
Plane Orientation
視覚化する切断平面の向き。
Visualization Type
フォースストリーマに色を付ける方法。 これらのタイプに関する情報は、Vector Field Visualizationのヘルプを参照してください。
Visualization Mode
Visualization Range の値をカラーに変換する方法を決定します。
Visualization Scale
フォースの大きさにこの値を乗算して、 Visualization Mode が Speed に設定されている時に使用する実際の速度を計算します。
Note
フォースの大きさにこの値を乗算した値が Visualization Range でマッピングされます。
Plane Position
境界ボックス内の切断平面の相対位置。
Streamer Length
各ストリーマが進むワールド空間の距離。
Note
ストリーマの長さは、フォースの大きさを示しているわけではありません。
Streamer Minimum Speed
ストリーマが放棄されるフォースの大きさのカットオフ値。
Visualization Range
Visualization Mode が Speed に設定されている時、スケールされたフォースの大きさはこの範囲から0-1
範囲に合わせられた後に、
その値が( Visualization Mode 毎の)カラーにマッピングされます。
Wind ¶
Wind Direction
風が吹く方向。実際の風速は Wind Direction と Wind 強度の積になります。
Color ¶
このソルバは、Smokeオブジェクトのカラーデータを管理することができます。
この目的のために、Cd
とAlpha
の2つのフィールドを処理します: Cd
フィールドには、視覚化する Diffuse Field として使用可能なカラー値を格納します。Alpha
フィールドには、空間内の各ポイントにおけるカラー量を格納します。
このAlpha
フィールドは、色の混ぜ方を決めるのに重要です。
例えば、白い煙と黒い煙が混ざると、その白い煙のAlpha
値が高ければ、その結果の灰色は明るくなります。
以下の動画で見た目の比較を用意しました: 右側の動画の黄色い煙ではAlpha
値を大きくしたソースを使用しています。
Dissipation
カラーの量を時間の経過と共に減らします。
デフォルトでは、Alpha
チャンネルのみが消失します。
これは、煙のカラーに直接的に影響を与えませんが、ソースを介して新しいカラーに混ざりやすくします。
( Dissipation サブタブ下の) Only Dissipate Alpha を無効にすると、
Cd
値も煙の Default Color (Smoke Object (Sparse)ノードで設定)の方へ減衰します。
Blur
指定したサイズの隣接ボクセル内の値を混ぜることで煙のカラーフィールドをぼかします。
Sharpening
煙のカラーフィールドを鮮明化するので、実質的に異なるカラーの混色を妨げます。
Note
Sharpeningパラメータの値が大きいほど、視覚的な乱れが発生する可能性があります。 場合によってはSharpeningサブタブの Threshold を上げることで、追加されるノイズを減らすことができます。
Dissipation ¶
Dissipationを有効にすると、煙のカラー量が時間の経過と共に減り、新しいカラーをソースにしやすくします。 Only Dissipate Alpha を無効にすると、煙のカラーもその煙のデフォルトカラーに消失します。
Only Dissipate Alpha
このオプションを有効にすると、Alpha
値のみがDissipationの影響を受けます: これによって、ソーシングを通じて“古くなった”煙に簡単にカラーを付けることができます。
このパラメータを無効にすると、DissipationはCd
値もその煙のデフォルトのカラーの方へ促すようになります。
つまり、 Only Dissipate Alpha が無効な場合、煙のカラーは徐々に変化してデフォルト値に戻るようになります。
Control Field
有効な時、行使されるフォースが、このフィールドの内容でスケールされます。
Control Range
この範囲のControl Fieldの値をマッピングします。
Remap Control Field
Control Fieldランプを有効または無効にします。
Control Field Ramp
ランプの垂直軸が エフェクトの強度 、水平軸が Control Fieldの値 です。
Blur ¶
Blurは煙のカラーの混色を促進します。
Radius
カラーが1秒あたりでぼやける大きさを制御します。
Filter
ブラーカーネルの形状。
Sharpening ¶
Advanced ¶
Minimal Solve
評価ネットワークの特定の部分を無効にして、メインメモリとビデオメモリ間のデータコピーを回避する高速なOpenCL計算を容易にします。
Warning
これは、 Minimal OpenCL Solve を実装するためにPyro Solver SOPで使用されるユーティリティパラメータです。 しかし、この機能は、正しく動作させるにはいくつかの可動パーツに依存しています。 そのため、Smoke Solver (Sparse)またはPyro Solver (Sparse)のノード上でこのパラメータの値のロック解除も変更もしないでください。
Use OpenCL
OpenCLデバイスを使って計算を高速化します。
Note
現在のところ、OpenCLアクセラレーションは Dense モード( Enable Sparse Solving が無効な時)にのみ対応しています。
Min Substeps
ソルバは、フレームあたり少なくともこの数のサブステップを実行します。 異常なフォースが発生した場合、このパラメータを上げることで、安定性が増します。 通常では、このパラメータを上げると、シミュレーションの実行が非常に遅くなります。
Max Substeps
ソルバは、フレームあたり最大でこの数のサブステップを実行します。
CFL Condition
Max Substeps が1
より大きい時、ソルバは、このパラメータを使用してサブステップの数を決めます。
この条件は、サブステップがオブジェクトをこれより多くのボクセルで相互に貫通することができない事です。
値が高いほど、ソルバはもっと大きくサブステップを取得することができるので、煙がColliderを通過してしまう可能性があります。
Quantize to Max Substeps
有効にすると、すべてのサブステップは、1フレームを Max Substeps で割ります。 例えば、 Max Substeps を4に設定し、 CFL Condition が3サブステップだけ必要であれば、 ソルバは0.25, 0.5, 0.25のフレームステップを受け取ります。 このオプションは、 1/Max Substeps の増分値でファイルにキャッシュ化した入力ジオメトリを再利用するのに役に立ちます。
Frames Before Solve
オブジェクトを作成した後に、実際のシミュレーションをこの数のフレームだけ遅らせます。 Sourcing 入力に接続されたノードは、その間でも実行されます。 これは、いくつかのSolveノードが特定の初期条件を満たす前に処理できない場合に必要になることがあります。
Single V-Cycle for Pressure Projection
有効にすると、非常に処理の軽い(しかし精度が落ちる)メソッドを使用してPressure Projectionが実行されます。
Resizing ¶
Resize in Full Tiles
有効にすると、16ボクセル単位でフィールドのサイズが変更されます。 これにより、若干効率が良くなりますが、その結果のフィールドは必要以上に大きくなります。
Note
Enable Sparse Solving が有効な時は、サイズ変更は必ずフルタイルで実行されます。
Reference Fields
シミュレーションコンテナのサイズを決めるフィールドのリスト。 まず最初に Reference Fields からプラス値のすべてのボクセルを含んだ境界ボックスを計算し、次にその境界ボックスを Padding だけ広げることで、サイズ変更が行なわれます。 このフィールドのリストは、Sparseモードでアクティブ領域を構築する際にも使用されます。
Padding
Reference Fields のシミュレーション領域に追加する余裕代。 Padding はできるだけ小さく、タイムステップ内で煙がコンテナからはみ出さない程度に十分な大きさにしてください。
Note
Enable Sparse Solving が有効な時、 Padding は、アクティブ領域に構築されるバッファのサイズも制御します。
Extra Fields
デフォルトでは、このソルバは、density
、temperature
、divergence
、active
、vel
、collisionvel
、flame
(Pyroのみ)のサイズを変更します。
ここにフィールドを指定することで、そのフィールドのサイズも変更させることができます。
Sparsity ¶
Enable Sparse Solving
ソルバを Sparse モードにして、関連する領域のみを計算するように実行させることができます。
Note
Sparse モードを正しく動作させるには、必ずSmoke Objectの Enable Sparse Solving も有効にしてください。
Reset Rule
Fields to Reset で指定されたフィールドの変更箇所を決めるルール。
Disabled
フィールドのどの箇所も変更されません。
Newly Occupied
以前は非アクティブで今はアクティブな領域のフィールドがリセットされます。
Newly Deoccupied
以前はアクティブで今は非アクティブな領域のフィールドがリセットされます。
Newly Occupied or Deoccupied
アクティブから非アクティブ、非アクティブからアクティブに変わった領域のフィールドがリセットされます。
Fields to Reset
Reset Rule に基づいてリセットするフィールドのリスト。 変更される箇所の領域では、これらのフィールドは初期値に設定されます。
Extrapolate Velocity into New Tiles
このパラメータを有効にすると、新しくアクティブになった領域が近接のアクティブ領域からVelocityを継承します。 これは、 Padding が十分大きくない場合に煙の表面上に現れるタイル状の乱れを軽減させることができます。
Falloff パラメータと Blendwidth パラメータは、新しいVelocityと(Smoke Object (Sparse)ノードの Wind Tunnel Direction で設定した)背景フィールド値のブレンド方法を決めます。 アクティブ領域周辺に補間帯域が反映されるように Blendwidth を設定してください: 有効な境界Velocityは、この厚みの帯域内の背景値とブレンドされます。 Blendwidth を小さくしすぎると、この外挿はタイル状の乱れを軽減するには効果が出なくなります。 かといって、この値を大きくしすぎると、煙は外側へ加速するようになります。 それが起きたら、 Blendwidth を下げるか、または、(シミュレーション速度の命令の値まで) Falloff を上げることで、その問題を軽減することができます。
Falloff
Extrapolate Velocity into New Tiles を有効にすると、有効なVelocity値が新しくアクティブにあった近接タイルまで外挿されます。 このパラメータは、(Smoke Object (Sparse)ノードの Wind Tunnel Direction で設定した)背景フィールド値までの最小ブレンドレートを設定します。 希望する Blendwidth において煙が外側に引っ張られている場合は、このパラメータを上げてください。
Blendwidth
Extrapolate Velocity into New Active Tiles が有効な時にアクティブ領域周辺の補間帯域のサイズを制御します。 このサイズの帯域内にある新しくアクティブになったVelocityは、有効な値を( Wind Tunnel Direction で設定した)背景フィールド値まで補間されます。 このパラメータを上げることで、 Padding が小さい時に発生し得るタイル状の乱れを軽減することができます。
Note
実際のBlendwidthは、このパラメータと Padding の積となります。 そのため、 Padding の量を大きく変更した場合は、このパラメータの値も調整する必要性が出てきます。
Expand by Velocity
有効にすると、アクティブなシミュレーション領域がガスの動きを考慮するようになります。 これによって、流体がより速い速度で出ていく箇所の Padding が大きくなるように最適化されます。 これを無効にすると、アクティブ領域は全方向均一に広がります。
Min Padding
Expand by Velocity を有効にした時の煙周辺の最小余裕代。
Max Padding
Expand by Velocity を有効にした時の煙周辺の最大余裕代。 これを有効にすることで、 Expand by Velocity を使用した時の内部の膨張量を制限することができます。
Note
Max Padding が Resizing タブの Padding よりも小さい場合、 その Padding は内部的に Max Padding (有効な時)にクランプされます。 これは、境界に非アクティブなタイルの層ができないようにするために行なわれます。
Expansion Rate
Expand by Velocity を有効にした時に、Sparseアクティブ領域の最適なPaddingサイズを制御します。 このパラメータの値が大きく設定すると、アクティブ領域に多くのタイルが含まれるようになります(そして、煙が流れていくバッファが大きくなります)。
Tangential Rate
このパラメータは、 Expand by Velocity を使用した時のSparseアクティブ領域の形状に影響を与えます。 このパラメータの値を小さくすると、アクティブ領域内の鋭いよじれが許容されるようになります。 これによってアクティブなシミュレーションタイルの数を削減することができるものの、流体の動きに悪影響を及ぼす可能性があります。
External Forces ¶
Scaled Forces
各ボクセルのdensity
フィールドの値でスケールをかけるフォースのリスト。
Absolute Forces
(density
値を無視して)すべてのボクセルに均一に適用するフォースのリスト。
Advection ¶
Field Advection ¶
Advection Scheme
移流を実行する際に使用するアルゴリズム。 Semi-Lagrangian が最も基本的なアルゴリズムです: これは、一回だけ Velocity Field を通過した軌跡を追跡してその Field 値を更新するだけです。 Modified MacCormack は、さらに追加で追跡ステップを実行して、取り込まれた誤差を近似して補正します。 その結果として、オリジナルのフィールドの鮮明な特徴部をもっと上手く維持することができます。 BFECC は、最も計算負荷が高いですが、さらに他の追跡ステップを実行して、推定誤差の動きを予測して、一番良い結果を生成します。
Clamp Values
Modified MacCormack と BFECC の移流の誤差補正ステップは、オリジナルのフィールドの範囲外にある最終ボクセル値を取り込んでしまう可能性があります: これでは、例えばマイナスの密度または大きなVelocityを生成してしまう可能性があります。 そのような値が検出されたら、最終フィールド値は、このパラメータの設定に基づきます。
None
クランプを実行しません。
Clamp
Semi-Lagrangian の移流メソッドで確認された範囲内に収まるように値をクランプします。
Revert
Semi-Lagrangian の移流メソッドで予測された値に戻します。
Blend
移流させたフィールドがクランプ制限に到達した時に、クランプしていない値とクランプした値の間に滑らかなブレンドを適用します。 特に Revert オプションを使用した場合、小さい値の Blend (0.05-0.1)を適用することで、移流させたフィールド内のグリッド状の乱れを軽減させることができます。
Trace Method
Velocityフィールドを通過する軌跡を追跡する方法を制御します。 このメニュー内のオプションは、精度と計算負荷の低い順でリストされています。
Note
CFL Condition に適切な値を使用していれば、 Forward Euler で十分なはずです。 CFL Condition にもっと大きな値を使用する必要がある場合、または、そのオプションを無効にした場合は、 Trace Method からもっと下にリストされているオプションの使用を考慮してください。
CFL Condition
有効にすると、計算された経路が Velocity Field 内のバリエーションを反映できるようにするステップ内で軌跡の追跡が行なわれます。 ステップサイズは、このパラメータの値で制御されます。 特に、各ステップ内で通過したフィールドボクセルの数は、 CFL Condition と同じです。
Max Steps
軌跡を追跡する際に考慮されるステップ数に安全のための上限を設定します。
Note
Use Field Advection Settings for Velocity が無効になっていても、このステップ数の制限は常にVelocity移流にも適用されます。
Max Batch Size
Velocity Field を通過する経路を追跡する負荷を最小限に抑えるために、ターゲットのフィールドを(それらのボクセルサンプリング設定に基づいて)束にまとめて、それぞれの束を同時に移流させます。 このオプションを有効にして Max Batch Size を指定することで、それぞれの束で処理可能なフィールドの数を制限することができます。 これは、移流ステップがピークに達するメモリ使用量を削減するのに役立ちます。
Note
Use Field Advection Settings for Velocity が無効になっていても、このバッチ設定は常にVelocity移流にも適用されます。
Extra Fields
デフォルトでは、このソルバは、density
、temperature
、vel
、flame
(Pyroのみ)を移流させます。
ここにフィールドを指定することで、そのフィールドも移流させることができます。
Velocity Advection ¶
Use Field Advection Settings for Velocity
有効にすると、さらに Field Advection 設定も使って、Velocityフィールドを移流させます。 このオプションを無効にすると、Velocity用の移流設定を変更することができます。
このセクションの残りの設定は、 Field Advection に載せている設定と同じです。
Collisions ¶
Build Collision Mask
このオプションを有効にすると、ソルバはcollision
フィールドとcollisionvel
フィールドを構築して、煙と衝突オブジェクト間に自動的な相互作用を機能させます。
Bandwidth
コリジョンオブジェクトからどれだけ離れた距離までそれに関連するフィールドを構築するかどうかを制御します。 この値の単位はボクセルです。 これを無効にすると、これらのフィールドのすべての箇所が初期化されます。
Use Point Velocity for Collisions
アフェクターオブジェクトのローカルVelocityは、角速度と線形速度の組み合わせです。 しかし、オブジェクトが変形、且つ、フレーム間でポイントが合致している場合、そのローカルのポイントVelocityも使用して、その変形エフェクトを推定することができます。
Use Volume Velocity for Collisions
アフェクターオブジェクトのポイント数が変化するのであれば、それをボリューム表現にすることで、そのボリューム表現内の変化を変形Velocityの推定に使用することができます。
Note
これには、ボリュームサーフェスの接線方向のVelocityが含まれていません。 ボリュームがフレーム間で変化しなければ、ベルトコンベアーが静止しているように見えます。
Collide with Non-SDF
通常では、コリジョンリレーションシップは、オブジェクト毎に符号付き距離フィールドを使用します。
しかし、オブジェクトが異なるタイプの場合、他の方法を使って実質的に符号付き距離フィールドを取得することができます。
このオプションを有効にすると、オブジェクトのsurface
スカラーフィールドが検査されて、それが符号付き距離フィールドとして扱われます。
density
フィールドが存在すれば、それを0.5のカットオフでFogボリュームとして扱われます。
Geometry
ジオメトリが取り付けられていて、且つ、そのジオメトリが単一ボリュームで構成されている場合、
そのボリュームが(0.5のカットオフで)Fogボリュームとして扱われます。
しかし、そのボリュームの境界条件がSDFに設定されていれば、SDFとして扱われます。
Correct Collisions
有効にすると、Collider内の指定したフィールドがリセットされます。
Fields to Correct
Correct Collisions が有効な時、Collider内のこれらのフィールドがリセットされます。
Feedback Scale
Colliderが煙から影響を受ける度合いは、このパラメータの値で制御します。 値が大きいほど、Colliderに対する圧力の影響が強くなります。 0の値は、どのフィードバックも回避されます。
IOP Iterations
Colliderは、弱連成法(Weak Coupling)を使ったシステムに統合されています。 射影の反復回数は、このパラメータで制御します。 反復回数が多いほど、シミュレーションが遅くなりますが、コリジョンオブジェクトとの相互作用が良くなります。
Note
IOPとは Iterated Orthogonal Projections (反復直交投影)の略です。 このメソッドは、まず最初に(規定の発散を無視しつつ)Colliderと互換性のあるVelocityフィールドを作成してから、(コリジョンオブジェクトを考慮せずに)目的の発散に合わせることで、動作します。 これらの工程が十分な回数だけ繰り返されると、その結果のVelocityフィールドは目的の発散になってColliderを評価するようになります。
Hourglass Filtering ¶
Filter Hourglass Modes
Smoke Objectの Velocity Sampling が Center に設定されている時、Pressure Projectionに耐えることができる疑似Divergenceモードのフィルタリングを有効にします。
Amount
Hourglassフィルタリングの強度。
0
の値は、このフィルタリングを無効にするのに対して、1
の値は、フルフィルタリングを実行します。
Scale by Divergence
このオプションを有効にすることで、どこにでもフィルタリングを実行するのではなくて、Divergenceがまだ検出されている箇所のボクセルに対して選択的にフィルタリングを適用することができます。
Use Relative Divergence
Scale by Divergence と同様で、この設定は場所によって異なる強度でフィルタリングを適用します。 しかし、純粋なDivergenceではなく、フィルタリング強度の制御に使用される量は、Divergence/速度の比率です。
Divergence Scale
残りのDivergenceに対するフィルター強度の感度( Use Relative Divergence が有効な場合は、Divergence/速度)を制御します。 つまり、それに関連する量をこの量で乗算した後に、その値を使ってフィルター強度を決定します。
Visualize Filter Strength
適応フィルターを使用した時( Scale by Divergence が有効になっている時)、このオプションを有効にすることで、強度フィールドを視覚化することができます。
Plane Orientation
視覚化する切断平面の向き。
Plane Position
境界ボックス内の切断平面の相対位置。
Visualization Mode
強度の値(0
から1
)をカラーに変換する方法を決めます。
See also |