| On this page |
これまでのページでは、ソルバの結果がレイヤ(例えば、water、vel.*、forceなど)として利用可能であることが何度か言及されました。
たいていの場合、これらのレイヤをテクスチャリングやレンダリングに直接使用することになります。
そのような場合では、レイヤは再びマスクとして機能し、特定の領域を除外して下層の構造を露出します。
詳細は、このガイドのテクスチャの基本およびテクスチャレイヤのページを参照してください。
変換 ¶
Height Fieldをポリゴンやポイントに変換すると、すべてのレイヤ情報は自動的に適切な Point アトリビュートに変換されます。
この処理を行なうノードがConvert Heightfield SOPであり、
Shallow Water Solver SOPの 下流 に追加しなければなりません。
キャッシュ化 ¶
シミュレーションを開始すると、その結果はコンピュータのRAMにキャッシュ化されます。 高解像度のHeight Fieldの場合、デフォルトのキャッシュ容量の5000MBでは通常だと150~200フレーム以上をキャッシュ化するには不十分です。 ソルバの Simulation タブにある Cache Memory (MB) パラメータを使用することで、その割り当てメモリ容量を調整することができます。
シミュレーションをディスクにキャッシュ化したい場合は、File Cache SOPを追加すると良いでしょう。
このノードは、ファイルパスを構築したり、フレーム範囲を調整することができます。
また、バージョン管理もサポートされています。
パラメータの詳細は、File Cache SOPのヘルプページを参照してください。
設定が完了したら、 Save to … ボタンのいずれかを押すことで、指定したディレクトリにファイルシーケンスを書き出すことができます。 必ず Caching ▸ Sequence ▸ Simulation が有効になっていることを確認してください! Load from Disk を有効にすると、Houdini内でそのシミュレーションを再生することができます。
ジオメトリの抽出 ¶
水面ジオメトリのみが必要な場合は、変換されたHeight Fieldから単一のBlast SOPでその処理を行なうことができます。
-
Blast SOPを追加して、その入力をそのConvert Heightfield SOPの出力に接続します。
-
Group Type パラメータを Points に設定します。
-
Group フィールドに
@water==0と入力します。
このノードは、water値が0のすべてのポイントを削除するので、UV座標付きの水面が得られます。
water値が0のポイントを削除せず、それ以外のポイントをグループに格納したい場合には、以下のエクスプレッションで処理することができます。
-
Blast SOPの代わりに、Group SOPを配置して接続します。
-
Group Name フィールドに
waterと入力します。 -
Base Group セクションの Base Group フィールドに
@water>0と入力します。
上記の両方の方法は、vel_x、accel_z、vorticityなどの他のレイヤでも同様に機能します。
なお、これらのレイヤをグループ化したり削除するには、ソルバ上でaccelerationレイヤおよびvorticityレイヤを有効にする必要があることに注意してください。