On this page |
概要 ¶
Crowd Steering Forceノードおよびソルバのデフォルトフォースには、それぞれ ウェイト があります。 指定した時点で、エージェントは複数のフォースにより影響を受ける可能性があります(例えば、“パスの追従”と“障害物回避”)。 Crowd Solverは、個々のフォースをウェイトで乗算する前にウェイトを 正規化 する(合計が1になるようにスケーリングする)ことにより、複数のフォースを処理します。
例 ¶
これらのウェイトにより、指定された時点で適用を受ける可能性のある下記のフォースがエージェントにあると想定します:
フォースのタイプ |
フォースの量 |
ウェイト |
---|---|---|
回避 |
10 |
1.0 |
パス追従 |
1 |
0.5 |
整列 |
2 |
0.2 |
-
ソルバは、回避ウェイトを0.59に、追従ウェイトを0.29に、整列ウェイトを0.12にして、合計が1になるようにウェイトを正規化します。
-
それから、ソルバはフォース量を正規化されたウェイトで乗算するため、回避フォースは
10 * 0.59 = 5.9
に、追従フォースは1 * 0.29 = 0.29
に、整列フォースは2 * 0.2 = 0.4
になります。 -
最後に、ソルバはフォースを追加して、エージェントの全体のフォースを取得します。
ウェイトの使用 ¶
エージェントの現在の状態でのすべてのフォース(および状態に関係なく、すべてのエージェントに適用されるすべてのフォース)は、エージェントに適用されます。ある挙動を他の挙動で完全に上書きすることは不可能です。しかし、非常に高いウェイト(10
など)を使用すれば、他のフォースが正規化される場合、他のフォースは目立たないぐらい小さくなります。
パーティクルフォース ¶
状態内の標準パーティクルフォースノードおよび他のDOPを使用して、群衆専用の“ステアリング”ノードだけでなく、挙動も定義できます。 しかし、群衆専用ではないノードには、 ウェイト パラメータがないため、上記で説明した正規化の対象にはなりません。 したがって、群衆専用ではないノードは、エージェントの他のフォースへ 付け加えられる だけです。