Houdini 20.0 シェルフツール

Simple GPU Ground Explosion shelf tool

GPU上で完全にシミュレーション可能な爆発を生成します。

On this page
ビューポートでのPyroシミュレーション。カラー空間: ACES, ボクセルサイズ: 0.1.

概要

このシェルフツールは、GPU上でシミュレーションを実行できるようにPyro SolverMinimal 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 SOPCenter パラメータをアニメーションさせることで、シミュレーションコンテナを動かすことができます。 例えば、これによって、炎をシミュレーションしながら移動する松明のワールド空間の動きを追跡することができます。

高速にシミュレーションを生成するために、 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 GuideShape ▸ Shape Guides ▸ No Guide

  • できるだけループソースを使用してください。

  • マイクロソルバを使用する場合、ボトルネックを回避する Use OpenCL オプションが有効になっているかどうか確認してください。

Tip

パフォーマンスとソルバ設定をテストする場合は、Simple GPU Ground Explosionがうってつけです。

Note

ビューポートのレンダリングを担っているGPUをOpenCLデバイスに設定すると最高のパフォーマンスが得られます。

Simple GPU Ground Explosionを理解する

このシェルフツールは、3つのノードだけで構成されたノードネットワークを作成します。

  1. pyroburstsourceは、Pyroのソースを生成します。また、このノードは爆発の初期形状も取り込みます。 Burst Shape 下の Shape Offset を変更することで、簡単に爆発の形状を変更することができます。

    Note

    ソースの変更を反映するには、シミュレーションを最初から開始する必要があります。 これを実行するには、プレイバーのボタンを押してタイムラインを巻き戻すか、または、Pyro Solverの Reset Simulation ボタンを使用します。

  2. volumerasterizeattributesは、ソースポイントを取り込んで、それらのPointアトリビュートをボリュームに変換します。 ラスター化されたburnボリューム、densityボリューム、vボリュームがPyroシミュレーションを駆動させます。

  3. pyrosolverは、シミュレーションを実行します。 このノードのパラメータは、シミュレーションの物理学的な挙動に最も影響を与えます。 Solving タブと Look タブの大部分のパラメータをシミュレーションの実行中にインタラクティブに調整することができます。

    Tip

    Edit メニューの Live Parameter Display during Playback を有効にすることで、シミュレーション中にパラメータを調整した時にソルバインターフェースが更新されるようにすることができます。

    To...Do this

    コンテナサイズを大きくする

    Setup タブ下の Center パラメータと Max Size パラメータを変更します。

    コンテナが大きいほどシミュレーションは遅くなり、ビデオメモリを消費するようになります。

    ソースの周期を変更する

    Sourcing タブ下の Cycle Length パラメータを変更します。

    このパラメータは、ソースが再スタートされる頻度を制御します。 この値を下げると、途切れなく続く爆発のバーストの時間が短くなります。

シェルフツール

シェルフの使い方

テクニカル