Houdini 17.0 ダイナミクス

シミュレーションのキャッシュ化

On this page

概要

通常では、Houdiniは、クィック再生できるようにシミュレーション情報をメモリ内にキャッシュ化します。 DOP NetworkノードCache Memory パラメータは、シミュレーションフレームのキャッシュ化に使用するメモリ容量を制御します。

Houdiniは、新しいキャッシュフレームのメモリ容量が足りなくなると、古いキャッシュフレームを破棄します。 Allow Caching To Disk を有効にすると、古いフレームを破棄せずに、Houdiniは、それらを.simファイルとして一時ディレクトリに書き出します。 そのディスク上のフレームをスクラブするとメモリ内のフレームよりも遅いですが、巨大なシミュレーションをまるごとキャッシュ化することができます。 DOP Networkノードの Cache タブで、そのファイルの保存を制御することができます。

明示的にシミュレーションファイルをディスクに保存したい時もあります:

  • オブジェクト(例えば、リジッドボディ)の動きのみを1度シミュレーションする必要がある時、その保存された動きを使用して、ジオメトリを駆動させることができます。

  • シミュレーションを"ロック"して、それをディスクから再生のみしたい時、パラメータを変えた時にシミュレーションが再計算されるのを回避します。

Output DOPまたはDynamicsレンダーノードのコントロールを使用して、シミュレーションファイルを書き出すことができます DOP Networkノードのコントロールを使用すれば、キャッシュ化したファイルからシミュレーションを再生できるようにネットワークをセットアップすることができます。

タイムラインのカラー

シミュレーションを取り扱う時、タイムライン(Houdiniメインウィンドウの下部)は、バックグラウンドカラーを使用して、フレーム毎のキャッシュ状態を示します。

Blue

メモリ内にキャッシュ化されています。

Purple

simファイルにキャッシュ化されています。

Orange

メモリ内にキャッシュ化されていますが、最新ではありません(パラメータを変更すると、そのキャッシュはもはや無効になります)。

明示的なディスクのキャッシュ化

デフォルトでは、 Allow Caching To Disk が有効な時、Houdiniはディスク上のキャッシュファイルを一時ディレクトリに保存します。 そのキャッシュフレームが無効になると、Houdiniは自動的にそれをディスクから削除します。

Save Checkpoints を有効にすることで、ディスク上のキャッシュファイルを、キャッシュ化する頻度とフレーム数を明示的に制御して、指定した場所に保存することができます。 そのファイルは 無効になっても削除されません 。とはいえ、チェックポイントは、レンダーファーム上で巨大なシミュレーションを走らせるのに役立ちます。 もしレンダーが何かしらの理由でフレーム50で失敗したとすると、Houdiniは、フレーム1からシミュレーションをやり直すことなく、その前のチェックポイント(例えば、フレーム45)からシミュレーションを再開することができます。

  1. DOP Networkノードを選択します。

  2. パラメータエディタで、 Cache タブをクリックして、 Save Checkpoints を有効にします。

  3. Checkpoint Files パラメータをチェックします。これは、simファイルの書き出し場所と.simファイルのファイル名パターンを制御します。そのファイル名パターンには$F(グローバルフレーム番号)ではなく$SF(内部シミュレーションフレームステップ番号)を使用しなければなりません。

  4. Checkpoint Interval パラメータで、Houdiniがチェックポイントファイルを保存する頻度を設定します。例えば、これを5に設定すれば、5フレーム毎に保存されます。

  5. Checkpoint Trail Length パラメータで、Houdiniが一度に保存するチェックポイントの数を設定します。これより多いチェックポイントが存在すれば、Houdiniは、一番古いチェックポイントを自動的に削除します。これは、巨大なシミュレーションがチェックポイントでディスクを埋め尽くさないように回避するのに必要です。

simファイルのベイク

シミュレーションネットワークの最後にあるOutput DOPには、シミュレーションファイルを書き出すためのコントロールがあります。 それらのファイルはキャッシュとは関係ありません。Houdiniの実行中に.simファイルを保持することができ、それをコンピュータ間で移動させることができます。

  1. Outputノードを選択します。

  2. パラメータエディタで、シミュレーションする StartEnd のフレームを設定します。

  3. Output File パラメータをチェックします。これは、simファイルの書き出し場所と.simファイルのファイル名パターンを制御します。

    .sim.gz (GZIP)または.sim.sc (Blosc)の拡張子を使用することで、Houdiniにそのファイルを圧縮させることができます。これは遅いですが、ディスク容量を節約することができます。

  4. Save to Disk または Save to Disk in Background のどちらかをクリックします。

    Save to Disk in Background は、新しいHoudiniのコピーをバックグラウンドで立ち上げてシミュレーションを実行します。このオプションを使用する前に.hipファイルを保存しなければなりません。レンダーマネージャーを使用して、そのバックグラウンドのタスクを監視することができます。

Dynamicsレンダーノードを使用してsimファイルを書き出すこともできます。このレンダーノードは、レンダリング依存関係パスの一部としてシミュレーションデータを生成する必要がある時に役立ちます。さらに、このレンダードライバはシミュレーション自体の一部ではないので、そのパラメータを変更しても、シミュレーションが再クックされません。

保存したsimファイルから再生

シミュレーションファイルをベイクしてしまえば、 決してクックせず にシミュレーションファイルの内容だけを再生するDOPネットワークをセットアップすることができます。

  1. DOP Networkノードを選択します。

  2. パラメータエディタで、 Playback Simulation を有効にして、そのファイル名パターンに、使用する.simファイルを設定します。

    手動で2つのパラメータの同期を維持する必要がないように、これをノードのファイル名パラメータのチャンネル参照にして、ファイルを保存したいことがあります。 OutputノードのOutput Fileパラメータを右クリックして、 Copy Parameter を選択します。そして、DOP Networkノードで、Playback Simulationフィールドを右クリックして、 Paste Copied Relative Reference を選択します。

ダイナミクス

ダイナミクスの学習

衝突オブジェクト

シミュレーションタイプ

Vellum

非DOPシミュレーション

次のステップ