On this page |
Pyro Source Packノードは、ボリュームとリジッドボディピースの両方に対応しています。 このオプションは、そのノードの Input ドロップダウンメニューにあります。 Rigid Body Pieces を選択した場合、例えば、粉砕ピースをグループ化し、それらをPyroソースと相互作用させることができます。 オブジェクトを破砕してシミュレーションする時、各ピースはRBD Bullet Solverによって個々のリジッドボディとみなされます。 Houdini19.5より前のバージョンでも、粉砕ピースとPyroソース間の相互作用は可能でしたが、そんなに簡単ではありませんでした。 Rigid Body Pieces に対応した新しいPyro Source Pack入力を使用すれば、粉砕ピースを直接接続してPyro Solverに送ることができます。
パックRBDピースとPyroを使用して2つのシミュレーションを作成し、それらを接続します。
-
リジッドボディシミュレーションは、ピースの動きを表します。
-
Pyroシミュレーションは、火と煙の挙動を制御します。
-
Pyro Solverは、煙と動いているリジッドボディの相互作用を可能にします。このためには、リジッドボディピースのライブラリを作成してから、リジッドボディソルバからのシミュレーションポイントを使用して、それらのリジッドボディピースをインスタンス化する必要があります。
次の手順を追ったガイドでは、パックリジッドボディピースを使った概念的なシミュレーションの作成方法について説明しています。
Pyroシミュレーション ¶
Pyroシミュレーションでは、独自のネットワークを作成するか、または、事前設定されたセットアップを使用することができます。
-
obj レベルで、Geometryノードを作成し、その中に入ります。
-
ネットワークエディタ内で⇥ Tabを押し、
pyro configure
と入力してみて、利用可能なセットアップを確認します。ここではPyro Configure Billowy Smoke
を選択します。このセットアップマクロは、Pyro Solverを含むすべての必要なノードを自動的に作成してくれます。
もちろん、それらのオペレータを調整することもできます。
例えば、煙ソースを大きくするために、Torusノードの Uniform Scale を変更することができます。
この例では、そのスケールを1.5
に設定しています。
-
テストシミュレーションを速く周すために、Pyro Sourceノードの Particle Separation を
0.1
に変更します。 -
Pyro Solverの Setup タブの Voxel Size に同じ値を使用します。
リジッドボディシミュレーション ¶
リジッドボディシミュレーションもGeometryノード内で発生させ、粉砕される球を使用します。
-
Geometryノード内で、Sphereを作成します。
-
RBD Material Fractureを追加して、1番目の入力をそのSphereの出力に接続します。設定はデフォルトのままにします。
-
RBD Configureは任意ですが、ボディに物理的な変更を加えたい場合には追加することをお勧めします。最初の3つの入力をRBD Material Fractureの呼応する出力に接続します。
-
RBD Bullet Solverを追加し、最初の3つの入力をRBD Configureノードの呼応する出力に接続します。
-
そのRBD Bullet Solverで、 Collision タブを開き、ドロップダウンメニューから Ground Plane を選択します。この地面は破片からのみ見えて、煙からは見えませんが、この例では関係ありません。
-
その地面の Position.Y を
-1
に設定します。
これは、Gridをコライダーにして、球を粉砕しようという考えです。その後、破片が煙の中に落ちます。
-
Gridノードを追加して、その出力をソルバの4番目の入力に接続します。
-
Center を
-6,8,0
に設定します。 -
Rotate.Z を
-50
度に設定します。 -
Sphereノードに移動して、 Center を
-4,12,0
に変更します。 -
Uniform Scale に
6
と入力します。 -
Rows と Columns を
39
と72
に上げて、より滑らかな球にします。 -
プレイバーのを押して、リジッドボディシミュレーションを実行します。必要に応じて調整します。
パックリジッドボディピースを作成する ¶
-
Pyro Source Packノードを追加して、その入力をRBD Material Fractureの3番目の出力に接続します。
-
Input を Rigid Body Pieces に設定します。
-
Voxel Size をPyro Solverの Voxel Size パラメータに一致するよう調整することもできます。
-
シーンには粉砕される球が1つしかないため、以下の手順は必須ではありません。しかし、ワークフローの一貫性を保つために、Mergeノードを追加して、Pyro Source Packに接続することをお勧めします。Mergeノードの名前を
LIBRARY
に設定します。
ネットワークを接続する ¶
この手順では、2つのシミュレーションを1つにまとめます。
-
RBD Bullet Solverの4番目の出力( Simulation Points )をPyro Solverの2番目の入力( Collision Geometry/Volumes )に接続します。
-
Pyro Solverの Collision タブを開きます。
-
Collision Type パラメータの最初のドロップダウンを SDF + Volume Velocity に設定します。その他のメニューを Packed Sets に変更します。
-
Collider Library に
../LIBRARY
と入力して、煙とパックフラグメント間の接続を確立します。
最終的なシミュレーションではディテールがより細かくなるよう、 Particle Separation と Voxel Scale パラメータを0.035
などの値に下げます。