E_Element

EddyのElementノードは、Element  Node Scriptを使用して定義された様々な機能のセットを表現することができます。各ノードには、独自のインプットとパラメータのセットがあり、エレメントを非常に多彩な構成にしています。Eddyには、すぐに使用できるいくつかのエレメントノードスクリプトがあります。

ご注意

Eddyのシミュレーションの詳細は、ドキュメントのシミュレーションのセクションを参照してください。

スフィアのエミッターと静止したスフィアのコライダーを追加したスパースの煙のエレメントによる立ち上る煙

Smokeエレメントノード

このエレメントは、浮力のある煙をモデル化します。煙のシミュレーションの挙動は、パラメータセットにグループ化された、多数のパラメータにより制御されます。特定の機能に関連付けられたパラメータは、その機能が有効な時のみ表示されます。

インプット/アウトプット

接続

ClassType

数値

説明

bounds

EddyBounds

0-1

シミュレーションの空間の限界を定義するEddyの境界。

collider

EddyCollider

0+

シミュレーションで相互作用させるための1つまたは複数のコリジョンオブジェクト。

density

EddyEmitter (Scalar)

1

煙をシミュレーション内に投入するために使用される密度のエミッションソース。

velocity

EddyEmitter (Vector)

0-1

シミュレーションのガイドに使用される速度のエミッションソース。

出力内容

EddyChannelSet

1

「密度」および「速度」のチャンネルを含んだチャンネルセット。

Gridパラメータセット

このパラメータセットは、シミュレーションデータを格納するために使用される計算グリッドの特性および挙動を制御します。

ご注意

Grid Expansionが有効になっていると、シミュレーションの空間は、煙の動きに合わせて定期的にサイズが変わります。視覚的なアーティファクトを回避するためには、煙が入る可能性がある部分の周囲に十分な空白(すなわちパディング)があることが重要です。パディングが不十分な場合、サイズ変更が始まる前に現在のシミュレーションの空間の端に煙が到達し、視覚的な問題を引き起こすことがあります。このような問題は、パディングの量を増やすか、サイズ変更の頻度の増加のどちらか、もしくは両方を行うことで解決することができます。

ご注意

シミュレーションの空間のサイズ変更は、比較的処理の重い操作です。Grid Expansionを使用する際のパフォーマンスを良くするために、あまり頻繁にサイズ変更を行わずに、それぞれのサイズ変更時に十分なパディングを使用することを推奨します。

ご注意

一般的に、Expansion Density Thresholdをあまり低く設定しないでください。この値は、ほんのわずかで、実質的には目に見えない密度の量でも、事実上は維持するからです。Expansion Density Thresholdが低すぎると、煙が視認閾値を下回って薄くなっている部分の空間をグリッドを拡張するアルゴリズムで取り戻すことができません。

ご注意

シミュレーションの空間の端は、煙が流れていくことができる開いた境界に近似します。

パラメータ

説明

Dimensions

(0,0,0)…(inf,inf,inf)

シーン単位での計算グリッドのサイズ(範囲)

Resolution

1…inf

領域の長軸に沿ったボクセル数。値を上げると、速度は遅くなりますが忠実度の高いシミュレーションになります。

Grid Expansion

True/False

計算グリッドの動的な拡大を有効にします。これにより、シミュレーションの範囲をシミュレーションとともに動的に広げることができ、煙の動きに従って煙を追跡する十分な空間が確保されます。

Expansion Min Resolution

(1,1,1)…(inf,inf,inf)

動的なグリッドの拡大を使用する場合に許容される最小の解像度。

Expansion Min Resolution

(1,1,1)…(inf,inf,inf)

動的なグリッドの拡大を使用する場合に許容される最大解像度で、Expansion Min Resolutionより大きくする必要があります。

Expansion Delay

1…inf

それぞれのグリッド拡大イベント間の計算サイクル数。グリッドを再構築することは処理の重い操作であり、パフォーマンスを上げるには、この操作をあまり頻繁に実行しないでください。

Expansion Padding

1…inf

グリッドが再構築されるときに、煙の周りにパディングとして追加される空のボクセル数。これは、グリッドの再形成が必要になる前に、アーティファクトが発生することなく、煙が自由に動くことができる空間です。

Expansion Density Threshold

0…inf

拡大アルゴリズムにより使用される低煙濃度の閾値です。維持するシミュレーションの領域と問題なく除外することができる領域を決定します。

Simulationパラメータセット

このパラメータセットは、煙の基礎物理学と、基本的な方程式を解くために使用される手法の側面を制御します。

ご注意

流体の圧力チャンネルの計算は、一般的に処理の重い操作です。そのため、パフォーマンスの向上のためには、圧力の反復数を低く抑えることが理想的です。しかし、これは同時にシミュレーションおよび流体力学の結果の精度を低下させ、シミュレーションの品質に悪影響を及ぼします。マルチグリッドのオプションが有効になっている場合はこの値を10以上に、無効の場合は70以上にすることをお勧めします。高精度の結果に必要な正確な値は、シミュレーションのグリッドサイズ、およびシミュレーションと相互作用するコリジョンオブジェクトの複雑さによって異なります。まず推奨値から始めて、シミュレーションが高解像度であったり、複雑な場合は、この値を上げることでシミュレーションの品質が大幅に向上するかどうかを確認してください。しかし、速度が最優先の場合は、マルチグリッドを有効にして、単一の反復でも十分な品質を取得できることが多い点にも留意してください。

ご注意

サブステップの最大数を増加させると、高速な動きのコリジョンオブジェクトとの相互作用の精度を大幅に上げることができますが、通常、シミュレーションの速度は遅くなります。

パラメータ

説明

Quality Mode

True/False

潜在的にかなりのパフォーマンスと引き換えにシミュレーションの精度を強化する手法を有効にします。

Buoyancy Direction

(-inf,-inf,-inf)…(inf,inf,inf)

浮力の方向。このベクトルの大きさにより浮力の大きさが決まります。

Kinematic Viscosity

0…inf

流体の動粘度。単位はm2/sです。

Number Of Pressure Iterations

1…inf

流体の圧力チャンネルを計算するために許容される計算サイクルの最大数。

Number Of Viscosity Iterations

1…inf

粘度の値を求めるために許容される計算サイクルの最大数。

Pressure Error Tolerance

0…inf

流体の圧縮率の量に関して、目標とする圧力チャンネルの誤差の許容範囲。

Viscosity Error Tolerance

0…inf

目標とする粘度チャンネルの誤差の許容範囲。

Multigrid Acceleration

True/False

圧力ソルバーの各サイクルで達成する圧力チャンネルの精度を大幅に上げる方法を有効にします。アーティファクトや安定性の問題が発生しない限り、有効のままにしておいてください。

Max Time Steps

1…inf

ソルバーがフレームごとに取得することができるタイムステップの最大数。

Time Scale

0…inf

時間をスケールする定数。2.0の場合、時間は通常よりも2倍速く経過します。

ご注意

いろいろな材質の動粘度については、テキストに記載があり、オンラインでもある程度参照することができます。例えばこちらの表(英語)を参照してください。動粘度は、mm2/sの単位で与えられることが多く、その場合は、Eddyで使用する正確な値を取得するためにその値を1 000 000で割ってください。

Dissipationパラメータセット

このパラメータセットは、煙濃度が時間の経過とともに消散する速度を制御します。

ご注意

残留した低密度の煙は、シミュレーションの外周付近に留まる傾向があります。これは必ずしも望ましいとはいえず、Low Density ThresholdおよびLow Density Rate Gainパラメータを使用して、煙濃度が選択された閾値を下回ると消失率を上げるようにすることで、取り除けます。

パラメータ

説明

Smoke Dissipation Rate

0…inf

煙が消失する速度。

Low Density Threshold

0…inf

その値を下回ると散逸が非線形的に増加する煙濃度の閾値。

Low Density Rate Gain

1…inf

密度の閾値以下のときの非線形の散逸速度の乗数。

Turbulenceパラメータセット

このパラメータセットは、乱流を増大させる技法を制御します。渦度は、煙のシミュレーションのルックアンドフィールにとって重要なため、渦の量と構造を制御する方法は重要なアーティスティックツールとなります。

ご注意

渦度を増大させると、シミュレーションの視覚的な複雑性を大幅に向上させることができます。しかし、大きな値を設定するとエネルギーが増えすぎてノイズの多いシミュレーションになることがあるため、Enhancement Strengthの設定には注意が必要です。安全な1.0の値から始め、必要に応じて増加させてください。

ご注意

渦度を投入するアルゴリズムは適応的で、渦度を投入する妥当な領域を選択しようとします。Adaptivity Thresholdを上げることで、選択した領域でアルゴリズムをより許容度の高いものにすることができ、0に閾値を下げることで、アルゴリズムをより制限的なものにすることができます。このコントロールは、シミュレーションの誤った領域に過度な乱流が追加されないようにするのに役に立ち、生成される結果の視覚的な品質を大幅に上げることができます。

ご注意

Adaptivity Thresholdパラメータを上げると、渦度の投入が適用されるシミュレーションの領域のサイズが大きくなり、したがって、同じVorticity Strengthで与えられるエネルギー量が大きくなります。そのため、Adaptivity Thresholdを上げると、おそらくVorticity Strengthを小さくしたいと思うでしょう。そしてその逆も同様です。

パラメータ

説明

Vorticity Enhancement

True/False

シミュレーションで渦にエネルギーを加えるアルゴリズムを有効にします。

Enhancement Strength

0…inf

渦に追加されるエネルギー量を決定します。

Vorticity Enhancement Adaptive

True/False

渦度を増大させるアルゴリズムの適応性を有効にします。

Frequency Falloff Power

0…inf

生成される乱流の特徴サイズの分布を制御します。値が大きいほど、高い周波数がより強調され、値が小さいほど、低い周波数がより強調されます。

Adaptivity Threshold

0…1

渦度の適応性オラクルが、どれぐらい積極的にエネルギーを投入するために有効な領域を選択するかを決める閾値。1.0より大きい値を使用することができますが、積極的になりすぎる傾向があります。

Inject Vorticity

True/False

シミュレーションに視覚的な複雑性を付与する追加の乱流を合成するアルゴリズムを有効にします。

Vorticity Strength

0…inf

合成された乱流の大きさを制御します。

Frequency Falloff Power

0…inf

生成される乱流の特徴サイズの分布を制御します。値が大きい場合は、高い周波数がより強調され、値が小さいほど、低い周波数がより強調されます。

Adaptivity Threshold

0…1

渦度の適応性オラクルが、どれぐらい積極的にエネルギーを投入するために有効な領域を選択するかを決める閾値。1.0より大きい値を使用することができますが、積極的になりすぎる傾向があります。

Combustionエレメントノード

Combustionエレメントは、炎のシミュレーションのような燃焼ダイナミクスをモデル化します。これは、smoke エレメントノードに燃焼モデルを追加しているため、いくつかのパラメータと入力をこのエレメントと共有します。

インプット/アウトプット

接続

ClassType

数値

説明

collider

EddyCollider

1+

シミュレーションで相互作用させるための1つまたは複数のコリジョンオブジェクト。

density

EddyEmitter (Scalar)

1

煙をシミュレーション内に投入するために使用される密度のエミッションソース。

velocity

EddyEmitter (Vector)

1

シミュレーションのガイドに使用される速度のエミッションソース。

fuel

EddyEmitter (Scalar)

1

未燃燃料をシミュレーション内に投入するために使用される燃料のエミッションソース。

temperature

EddyEmitter (Scalar)

1

燃料を点火する初期熱を与えるために使用される温度のエミッションソース。

Outputs

EddyChannelSet

1

「密度」、「速度」および「温度」チャンネルを含んだチャンネルセット。

Smokeソルバーパラメータ

fireエレメントの基本パラメータは、smokeエレメントノードにあるものと同じです。追加でfireエレメントには、その燃焼モデルを制御するためのパラメータセットがあります。:

Combustionパラメータセット

パラメータ

説明

Cooling Rate

0…inf

煤煙が周辺との熱交換によって冷却する速度。

Ignition Temperature

0…inf

燃料が着火する温度。

Combustion Temperature

0…inf

燃料が燃える温度。

Fuel Carbon Amount

0…inf

消費された燃料の単位当たりに発生する残留炭素(すす)の量。1.0の値は、消費された燃料の各単位が1単位の煙濃度を生成することを意味します。

Fuel Burn Rate

0…inf

燃料が燃えるときに1秒間に消費される燃料の量。

Fuel Expansion

0…inf

体積の増加量、つまり、燃料の着火により発生する膨張量。2.0は、シミュレーションされるガスが、消費された燃料の単位当たり200%(つまり、局所的に3倍の体積の増加)で膨張するということを意味します。

Fuel Combustion Threshold

0…inf

着火可能な最大の燃料密度。

Eddy combustionモデルおよびそのパラメータについてのより詳しい説明は、燃料についてのシミュレーションのセクションを参照してください。

Sparse SmokeおよびFireノード

主要なシミュレーションから遠く離れた部分のチャンネルデータ(速度、密度、温度など)は、一定の周囲の値(ほとんどの場合0)に近づく傾向があります。これらの周囲の値に近いチャンネルの値のところを端として、対象となる特徴部分を囲む空間の領域に、シミュレーションを制限することによってシミュレーションの効率を上げることができます。Sparse SmokeおよびFireノードは、この対象となる領域、つまりActive Space(有効な空間)を適応的に計算することで、煙と炎のより効率的でより近似的なシミュレーションを実行することができます。

ご注意

有効な空間が狭すぎると、有効な空間の端のチャンネルの値が周囲の値に近づかないため、シミュレーションに切り捨てられたようなアーティファクトが発生します。

スパースのノードには、もう片方のボリュームのノードの機能がすべて備わっていますが、有効な空間の制御に関連する追加のパラメータのセットも含まれています。

スパース空間の割り当て

有効な空間は、最初はエミッターによって作成されます。その後、シミュレーションの進行に応じて自動的に再形成され、シミュレーションの対象となる特徴部分をキャプチャしようとします。

スパースシミュレーションの効率を最大にするには、有効な空間はできるだけ小さくすることが重要です。スパースノードにより、エミッションの領域以外のすべてのシミュレーション部分に対してこれが自動的に確実に行われるようになります。

対象となる特徴部分は、各エミッターのバウンディングボックス内のどこにでも存在しうると仮定されているため、高いパフォーマンスを達成するためには、エミッターができるだけ密接なバウンディングボックスを有することが重要です。エミッターに密接な境界がない場合、エレメントは、計算の無駄になるような事実上空の空間でも、対象となる特徴部分を不必要に探し、シミュレーションが遅くなります。

ご注意

エミッションソースには、できるだけ密接なバウンディングボックスを使用するようにしてください。これにより、エミッターの周りにシミュレーションの空間が過度に割り当てられることを防ぎ、より効率的なシミュレーションが可能になります。

ご注意

エミッターは、拡張のソースとして登録されたチャンネルはすべて空間内のエミッションソースとして見なします。これらのチャンネルに対して、エミッターは、エミッションソースのチャンネルのバウンディングボックス内で新しい空間を割り当てます。従って、まだチャンネルに追加されていないエミッターは、空の空間を放出することがあります。

ご注意

Eddyチャンネルのビジュアライザは、「Draw Subbounds」チェックボックスにチェックを入れると、現在有効な空間を可視化することができます。これは、スパースシミュレーションでのパフォーマンスや品質の問題を特定するのに非常に役に立ちます。

Sparse gridパラメータセット

Sparse gridパラメータセットは、上記のsmoke およびfireエレメントのものと似ていますが、いくつか追加のコントロールが含まれます。

パラメータ

説明

Simplified Grid Setup

True/False

有効にすると、グリッドの設定コントロールを単一のパラメータ、ボクセルサイズに減らします。

Voxel Size

0…inf

シーン単位での各ボリュームのピクセル(ボクセル)のサイズ。これは、シミュレーションに存在しうる最小の特徴サイズに比例します。

ボクセルサイズの選択

ボクセルサイズは、シミュレーションで見ることができる(シーン単位での)最小の特徴サイズとほぼ同じ大きさです。これは、シミュレーションと相互作用することのできるコリジョンジオメトリの最小の特徴部分、およびシミュレーションに存在しうる最小の流れの特徴の大きさ(: )となります。

最適なボクセルサイズは、シミュレーションですべてのフローの特徴をキャプチャするサイズです。これは、ミリメートルオーダーであり、通常かなり小さいコルモゴロフの長さスケールです。したがって、ほとんどのシーンでは、これほど小さいボクセルを使用することは非実用的に遅いか、不可能です。代わりに、実際に使用することができるぐらいの小さいボクセルサイズを選択しなければなりません。

以下は、最初のボクセルサイズを選択するためのガイドラインです。

  • シーンの大きさに適した特徴的な距離を特定します。一般的には、最小のエミッターのバウンディングボックスの最も長い辺を使用することを推奨します。
  • 特徴的な距離に沿ってどれぐらいの高い解像度(ボクセル数)を実現したいか、つまり、エミッターをどの程度正確に解決したいかを選択します。これを、画像の各軸に沿ったピクセル数と考えます。ピクセル数が少ないと処理が高速で粗い画像が生成され、ピクセル数が多いとは忠実度の高い画像が生成されますが、処理は遅くなります。
  • 選択した解像度の数値で特徴的な距離を割ると、ボクセルサイズが算出できます。

: 直径0.75メートルの野外炉でのキャンプファイアをシミュレーションしたいとします。野外炉は、エミッションの領域のため、特徴的な距離は0.75メートルになります。ボクセルサイズは、この距離より小さくしてください。できるだけ小さくするのが理想的です。出発点として、例えば、0.075メートル(0.7510で割った値)のボクセルサイズになるような、10の低解像度を選択することができます。これはおおまかなシミュレーションになりますが、出発点としては十分です。ここから始めて、希望する忠実度またはお使いのハードウェアの限界に到達するまで、ボクセルサイズを小さくすることができます。

火山をシミュレーションしたい場合は、シーンスケールはかなり異なりますが、考え方は同じです。エミッターが火山の噴火口になります。噴火口が直径100メートルと仮定するなら、これが特徴的な距離になります。10メートル(10010で割った値)のボクセルサイズになるように、10()解像度の係数を選択することができます。これもまた非常に粗雑なシミュレーションになりますが、この出発点から、希望する忠実度またはお使いのハードウェアの限界に到達するまで、ボクセルサイズを小さくすることができます。

ご注意

ボクセルサイズを小さくすると、メモリ使用量が増え、シミュレーション時間が長くなりますが、シミュレーションの解像度と忠実度が上がります。この負担の増加は、約3乗になります。つまり、解像度を2倍に(ボクセルサイズを半分に)すると、メモリと計算時間は、8倍になります。許容されるフレーム当たりのタイムステップ数に応じて、計算時間は16倍にもなる可能性があります。「只より高いものはない」です。解像度には多くの負担が強いられます。

Grid paddingパラメータセット

これらのパラメータは、有効な空間をどのように、いつ再形成するかを制御します。最も重要なことですが、これらのパラメータは、対象となるシミュレーションの特徴部分と有効な空間の端との間の距離を制御し、スパースシミュレーションにおいて発生する打切り誤差の程度を制御します。パフォーマンスも、これらのパラメータの影響を大きく受けます。

パラメータ

説明

Automatic Grid Padding

True/False

シミュレーションに最適な有効な空間を自動的に継続して見つけようとするヒューリスティックを有効にします。

Automatic Grid Padding Aggressiveness

0…inf

アクティブセットに新しい空間がどれぐらい積極的に追加されるかを制御します。値が小さいと、有効な空間は小さくなり、速度は上がりますが、より大まかなシミュレーションになります。

Automatic Grid Padding Max Padding

1…inf

これは、アクティブセットが自動パディングヒューリスティックによって拡張することを許可されたボクセルでの最大距離の制限です。この制限は、パフォーマンスの安全装置として作用し、シミュレーション内で衝撃があったときに、アクティブセットが過度に変更されないようにします。

Grid Padding

True/False

煙濃度に基づいて有効な空間のパディングを有効にします。

Padding Amount

1…inf

有効な空間に埋め込むボクセルレイヤーの数。

Padding Density Cutoff Threshold

0…inf

有効な空間の基礎の対象となる領域を定義する下限の閾値。対象となる領域は、煙濃度がこの閾値を超える空間のすべての部分です。