On this page |
概要 ¶
このシェルフツールは、GPU上でシミュレーションを実行できるようにPyro Solverの Minimal OpenCL Solve を使用した非常に単純な爆発セットアップを作成します。 これによって、できるだけ高速にシミュレーションを実行し、シミュレーション中にライブでパラメータ制御することができます。 これを実現するためには、ソルバの一部の機能を無効にする必要があります。
Minimal OpenCL Solve ¶
Pyro Solver SOPには Minimal OpenCL 計算を実行する機能があります。 この機能は非常に速くプロトタイプを組むのに役立ちます。 このオプションは Simulation Type ドロップダウンメニューの General タブにあります。 これはシミュレーションの実行中にパラメータをインタラクティブに操作することができるので、シミュレーションの効果に素早くフィードバックを反映させることができます。
このオプションを選択すると、すべてのシミュレーションデータがビデオメモリ内に残せるようにするためにソルバの一部の機能が無効になり、 Use OpenCL が有効になっている時にのみ必要になる負荷の重いコピーが回避されます。
Tip
シミュレーション中にパラメータを調整している時にソルバインターフェスが更新されるようにするには、 Edit メニューの Live Parameter Display during Playback を有効にしてください。
Tip
Pyro Solver SOPの Center パラメータをアニメーションさせることで、シミュレーションコンテナを動かすことができます。 例えば、これによって、炎をシミュレーションしながら移動する松明のワールド空間の動きを追跡することができます。
高速にシミュレーションを生成するために、 Minimal OpenCL はOpenCLデバイスを使用し、以下の制限事項が課されます。
-
シミュレーションのキャッシュ化が無効になります。つまり、タイムラインをスクラブさせて保存結果を確認することができません。
-
Advection-Reflection には対応していません。
-
Denseシミュレーションしか実行できません。
-
コンテナの動的なサイズ変更が無効になります。 Bound タブで静的なサイズを設定する必要があります。
-
ソルバは CFL Condition に基づいた動的なサブステップを行わなくなります。
-
ソーシングとコライダー対応に制限がかかります。どちらもフレーム範囲を指定する必要があり、ソルバはシミュレーション全体でこれらの入力ソースをループさせます。さらに、コライダーは必ず(
collision
という名前の)符号付き距離フィールドと(v
という名前の)Velocityフィールドに変換しなければなりません。
さらに以下の処理によってパフォーマンスを上げることができます:
-
ルックデブの間はパフォーマンスを維持できるようにPyro Bake Volume SOPノードの使用を控えてください。
-
Pyro Solver SOPノードのFieldsタブとShapeタブでガイドを無効にしてください: Fields ▸ Field Guides ▸ Field Guide ▸ No Guide 、 Shape ▸ Shape Guides ▸ No Guide 。
-
できるだけループソースを使用してください。
-
マイクロソルバを使用する場合、ボトルネックを回避する Use OpenCL オプションが有効になっているかどうか確認してください。
Tip
パフォーマンスとソルバ設定をテストする場合は、Simple GPU Ground Explosionがうってつけです。
Note
ビューポートのレンダリングを担っているGPUをOpenCLデバイスに設定すると最高のパフォーマンスが得られます。
Simple GPU Ground Explosionを理解する ¶
このシェルフツールは、3つのノードだけで構成されたノードネットワークを作成します。
-
pyroburstsource
は、Pyroのソースを生成します。また、このノードは爆発の初期形状も取り込みます。 Burst Shape 下の Shape Offset を変更することで、簡単に爆発の形状を変更することができます。Note
ソースの変更を反映するには、シミュレーションを最初から開始する必要があります。 これを実行するには、プレイバーのボタンを押してタイムラインを巻き戻すか、または、Pyro Solverの Reset Simulation ボタンを使用します。
-
volumerasterizeattributes
は、ソースポイントを取り込んで、それらのPointアトリビュートをボリュームに変換します。 ラスター化されたburn
ボリューム、density
ボリューム、v
ボリュームがPyroシミュレーションを駆動させます。 -
pyrosolver
は、シミュレーションを実行します。 このノードのパラメータは、シミュレーションの物理学的な挙動に最も影響を与えます。 Solving タブと Look タブの大部分のパラメータをシミュレーションの実行中にインタラクティブに調整することができます。Tip
Edit メニューの Live Parameter Display during Playback を有効にすることで、シミュレーション中にパラメータを調整した時にソルバインターフェースが更新されるようにすることができます。
To... Do this コンテナサイズを大きくする
Setup タブ下の Center パラメータと Max Size パラメータを変更します。
コンテナが大きいほどシミュレーションは遅くなり、ビデオメモリを消費するようになります。
ソースの周期を変更する
Sourcing タブ下の Cycle Length パラメータを変更します。
このパラメータは、ソースが再スタートされる頻度を制御します。 この値を下げると、途切れなく続く爆発のバーストの時間が短くなります。