Houdini 18.5 群衆シミュレーション

キャッシュ

群衆シミュレーションの効率的なキャッシュ化と読み込みのTips。

On this page

ファイルサイズの削減

エージェントプリミティブ一式をディスクに保存すると、そのジオメトリファイルには共有された複数のエージェント定義も埋め込まれるので、そのジオメトリファイルを読み込む時にそれらのエージェントを再構築することができるようになっています。

エージェント定義の各コンポーネントは、ディスクファイルの 外部参照 を指すようにすることができます。 例えば、Agent SOPInput パラメータを Disk に設定した時や、Agent Clip SOPを使ってディスクからアニメーションクリップを読み込んだ時に、そのディスクファイルを外部参照するようになります。 そのような場合では、エージェント定義を保存する時に、そのジオメトリファイルには、そのファイルのパスのみが保存されます(パックディスクプリミティブと同様)。 これによって、フレームシーケンスを保存した時のジオメトリファイルのサイズが飛躍的に小さくなります。 外部参照をしなかった場合、そのコンポーネントの内容(例えば、クリップやシェイプライブラリ)がパックジオメトリプリミティブと同じ手法でジオメトリファイルに埋め込まれます。

Tip

Agent ROPSource パラメータを Agent Primitive に設定すると、既存のエージェントプリミティブのエージェント定義がディスクに書き出されます。

ファイルキャッシュの読み込み

ジオメトリファイルからエージェントを読み込んだ時、そのエージェント定義と外部参照ファイルもディスクから読み込まれます。

エージェント定義に外部参照が含まれていない場合は、ファイルシーケンスを読み込む時にパフォーマンスが低下する可能性があります。 大きなファイルを読み込まなければならない上に、それぞれのファイルにエージェント定義をコピーし、フレーム毎にエージェント定義を変更することになるので、ビューポートパフォーマンスが低下してしまいます。

エージェント定義のコンポーネントが外部参照であれば、Houdiniはフレーム毎にエージェント定義ファイルを再読み込みする必要がないので、パフォーマンスを上げることができます。 Houdiniは、エージェント定義ファイルの参照を数えたキャッシュを維持するので、メモリ内のエージェントプリミティブがそれらのファイルを参照していなかった時には、そこからエントリーが削除されます。 つまり、File SOPCache Frames パラメータを 最低でも1 に設定することを推奨します。 そうしないと、シーケンスの次のファイルを読み込む前にFile SOPのジオメトリをクリアした際に、エージェント定義ファイルが必要なものまでメモリからクリアされて再読み込みされてしまいます。

Tip

DOPネットワークのキャッシュシミュレーションのビューイングと同等のパフォーマンスを得るには、File SOPCache Frames パラメータをシミュレーションフレーム数に設定してください。

群衆シミュレーション

はじめよう

  • 基本

    Houdiniにおける群衆シミュレーションの考え方の概要を説明します。

  • セットアップ

    群衆シミュレーションのセットアップと編集の方法

動くパーツ

  • エージェント

    群衆シミュレーションの要員である動く"アクター"であるエージェントについて説明します。

  • ステート

    各エージェントのアニメーションや仕草を制御する仮想的な"雰囲気"。

  • トリガー

    エージェントの状態を変更する条件を指定する方法です。

  • キャッシュ

    群衆シミュレーションの効率的なキャッシュ化と読み込みのTips。

挙動

外観

  • 多様性

    エージェントに異なる外観と行動を作成することで、より現実的な群衆を作成する方法。

  • 布の取り付け

    Vellum Clothをエージェントシェイプジオメトリの一部として追加/拘束すれば、エージェントの動きに基づいて布をシミュレーションすることができます。

地形

  • 足の着地

    エージェントのアニメーションを地形に適応させて滑りを回避するためのセットアップ方法。

  • 地形

    エージェントが歩く地形ジオメトリを指定する方法です。

  • 障害物

    エージェントが回避する障害物を設定する方法です。