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

群衆のフォースウェイト

どの挙動を各時間ステップでエージェントに適用するかを、HoudiniCrowd Solverが決定する方法です。

On this page

概要

Crowd Steering Forceノードおよびソルバのデフォルトフォースには、それぞれ ウェイト があります。 指定した時点で、エージェントは複数のフォースにより影響を受ける可能性があります(例えば、"パスの追従"と"障害物回避")。 Crowd Solverは、個々のフォースをウェイトで乗算する前にウェイトを 正規化 する(合計が1になるようにスケーリングする)ことにより、複数のフォースを処理します。

これらのウェイトにより、指定された時点で適用を受ける可能性のある下記のフォースがエージェントにあると想定します:

フォースのタイプ

フォースの量

ウェイト

回避

10

1.0

パス追従

1

0.5

整列

2

0.2

  1. ソルバは、回避ウェイトを0.59に、追従ウェイトを0.29に、整列ウェイトを0.12にして、合計が1になるようにウェイトを正規化します。

  2. それから、ソルバはフォース量を正規化されたウェイトで乗算するため、回避フォースは10 * 0.59 = 5.9に、追従フォースは1 * 0.29 = 0.29に、整列フォースは2 * 0.2 = 0.4になります。

  3. 最後に、ソルバはフォースを追加して、エージェントの全体のフォースを取得します。

ウェイトの使用

エージェントの現在の状態でのすべてのフォース(および状態に関係なく、すべてのエージェントに適用されるすべてのフォース)は、エージェントに適用されます。ある挙動を他の挙動で完全に上書きすることは不可能です。しかし、非常に高いウェイト(10など)を使用すれば、他のフォースが正規化される場合、他のフォースは目立たないぐらい小さくなります。

パーティクルフォース

状態内の標準パーティクルフォースノードおよび他のDOPを使用して、群衆専用の"ステアリング"ノードだけでなく、挙動も定義できます。 しかし、群衆専用ではないノードには、 ウェイト パラメータがないため、上記で説明した正規化の対象にはなりません。 したがって、群衆専用ではないノードは、エージェントの他のフォースへ 付け加えられる だけです。

群衆シミュレーション

はじめよう

  • 基本

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

  • セットアップ

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

動くパーツ

  • エージェント

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

  • ステート

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

  • トリガー

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

  • キャッシュ

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

挙動

外観

  • 多様性

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

  • 布の取り付け

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

地形

  • 足の着地

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

  • 地形

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

  • 障害物

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