On this page | |
Since | 20.0 |
このSOPは、予測回避モデルを応用して、他のエージェントや障害物との将来の衝突を回避するようにモーションパスを変形させます。
これは、自動化された方法で衝突を解決するのに役立ちます。
個々のエージェントのパスを正確に制御するには、Crowd MotionPath Followまたは
Crowd MotionPath Editを使用します。
collisionignore
とcollisiongroup
の文字列アトリビュートを使用することで、モーションパス間での回避の挙動をフィルタリングすることができます。
これらのアトリビュートは、(POP Steer Avoidにマッチした)エージェント上のPointアトリビュートまたはモーションパス上のPrimitiveアトリビュートのどちらでも指定することができます。
モーションパス上の
collisionignore
アトリビュートの文字列パターンが近接モーションパスのcollisiongroup
にマッチすると、そのエージェントは、その近接モーションパスの回避を試みません。
collisionignore
アトリビュートはモーションパス毎に異なる値を持つことができるので、その近接モーションパスもそのエージェントを回避するように設定することができます。
SOP Crowds MotionPathツールセットの詳細は、SOPモーションパスを参照してください。
パラメータ ¶
Group
他のエージェントや障害物を回避するように変形されるモーションパス。
Particle Scale Multiplier
エージェントのpscale
Pointアトリビュートは、衝突検知のエージェントサイズとして使用されます。
このパラメータは、その計算内でpscale
の値をスケールさせて、エージェントの詰め具合を調整することができます。
このパラメータは、エージェント上のpscalemultiplier
Pointアトリビュートで上書きすることができます。
Visualize Particle Scale
有効にすると、各エージェントの衝突半径を視覚化したガイドジオメトリが表示されます。
Avoidance
有効にすると、モーションパスに回避が適用されます。
Tip
Avoidance が無効であっても、衝突検知(例えば、 Collision Point Group の生成など)は実行されるので、 そのことを利用して、モーションパスを変形させることなく既存の衝突を検知することができます。
Iterations
適用する回避反復回数。
Tip
回避反復回数を増やせば、前の反復で残った衝突を解決できる場合があります。 しかし、 Max Turn Rate などの Steering 系パラメータで制限を厳しくした場合、後の反復にあまり効果が見られなくなります。
Max Collision Time
近接エージェントや障害物との起こり得る衝突の回避を開始する最大時間。
Neighbors
有効にすると、近接エージェント間で回避が実行されます。
Neighbor Distance
衝突を予測する際にエージェントが近接エージェントを検索する最大距離。
Max Neighbors
衝突を予測する際に考慮される近接エージェントの最大数。
このセクション下のパラメータは、 Obstacles 入力にジオメトリが接続されている時に利用可能です。
Obstacles
有効にすると、エージェントと Obstacles 入力のジオメトリ間で回避が実行されます。
Obstacle Distance
衝突を予測する際にエージェントが障害物を検索する最大距離。
Collision Padding
障害物ジオメトリ周囲の余裕代を指定します。 これを使用することで、エージェントがどれだけ障害物に近づけるのか制御することができます。
Horizontal FOV
オブジェクトを検知する際のエージェントの水平視野(単位は度)。
Vertical FOV
オブジェクトを検知する際のエージェントの垂直視野(単位は度)。
Ray Samples
オブジェクトを検知する際にエージェントの視野内で飛ばす光線の数。 数が多いほど精度が良くなりますがパフォーマンスが悪くなります。
Samples Seed
Horizontal FOV と Vertical FOV がどちらもゼロでない時、そのFOV円錐内でランダムにサンプリングされた方向に Ray Samples が飛ばされます。 これは、そのサンプリングのランダムシードを制御します。
Time Dependent
有効にすると、 Obstacles 入力は、モーションパスの時間範囲内のフレーム毎にクックされます。 これによって、時間依存ジオメトリに対して障害物回避を評価することができます。
Steering Mode
エージェントの向きの変え方を指定します。
2D
エージェントは、Upベクトルでしか旋回できません。
このUpベクトルは、 Reference Up ベクトルとそのパスのtransform
アトリビュートの組み合わせて決定されます。
3D
エージェントは、どの方向にも旋回することができます。
Speed Threshold
進行方向の転換が効く最小速度を指定します。 これによって、エージェントが低速で回転しないようにすることができます。
Max Initial Rotation
有効にすると、モーションパスの初期ポイントが、 Max Turn Rate などの他の旋回制限に関係なく、元の方向から最大でこの角度(単位は度)まで即座に回転することができます。 これは、(モーションパス全体の動きに影響を与える)旋回制限を緩める必要なく、モーションパスの初期方向を変更するだけでモーションパスの開始位置付近での衝突を回避するのに効果があります。
Max Turn Rate
エージェントがUp軸で回転して向きを変更できる速さ(1秒あたりの度)を指定します。
Turn Stiffness
有効にすると、エージェントの振り返りが、ターゲット方向との角度と現在のTurn Rateに基づいて角加速度が変化する減衰バネのように追従するようになります。 これによって、エージェントの向きやTurn Rateの急変化が回避されると同時に、エージェントがターゲット方向に素早く大きく変化するように調整することができます。 Turn Stiffness は、そのターゲット方向との角度に基づいてエージェントの角加速度を制御し、 Max Turn Rate はその角速度の上限を設定することができます。
Turn Damping
Turn Stiffness が有効な時、ここには、角速度スプリングの減衰を指定します。 値が大きいほど振動が軽減されます。
Goal Position Weight
エージェントを Goal Position の方へ誘導する重要度を制御します。 この値が0の場合、モーションパス全体が回避に基づいて誘導され、ターゲットの目的地を持ちません。
Goal Position
Goal Position Weight が0でない場合、エージェントを誘導するターゲット位置を指定します。
Original End Point
エージェントをモーションパスの元の終了位置に誘導します。 これによって、エージェントは Original Path をターゲットにするよりも緩やかに誘導されるようになりますが、入力のモーションパスに厳密に追従しなくなります。
Original Path
エージェントが Distance Variance の誤差内で元のモーションパスへ誘導します。
Distance Variance
エージェントからカーブまでの元の距離と現在の距離の最大差。 値が小さいほど、エージェントはカーブまでの元の距離を維持しようとしますが、エージェントの動きに急な変化が発生してしまう可能性があります。
このパラメータは、 Goal Position パラメータが Original Path に設定されている場合にのみ利用可能です。
Visualize Collisions
有効にすると、回避を適用した後もまだ衝突しているポイントを強調表示します。
Collision Point Group
有効にすると、 Group 内のモーションパスのポイントの中で、回避を適用した後もまだ衝突しているポイントを含んだポイントグループを作成します。 これを使用することで、衝突を解決するためにさらに編集すべきパスを視覚化または判断することができます。
Substeps
回避と衝突検知に使用するサブステップ数。 サブステップ数を上げると、品質が良くなりますが、パフォーマンスが悪くなります。
Start Frame
回避が適用される開始フレーム。 有効にすると、特定の時間範囲のモーションパスに回避が適用されます。
End Frame
回避が適用される終了フレーム。 有効にすると、特定の時間範囲のモーションパスに回避が適用されます。
Reference Up
エージェントの元々のUpベクトル。
Steering Mode が 2D の時、これとモーションパスのtransform
アトリビュートを組み合わせて、エージェントが旋回する軸が決定されます。
入力 ¶
Motion Paths
時間範囲にわたるエージェントの経路を表現したポリラインカーブ。
Agents
Motion Pathsで表現されているモーションを持つエージェントの群衆。
Obstacles
変形されるモーションパスが回避する障害物ジオメトリ。
出力 ¶
Motion Paths
時間範囲にわたるエージェントの経路を表現したポリラインカーブ。
Agents
モーションパスで表現されているモーションを持つエージェントの群衆。
Examples ¶
このサンプルでは、Crowd MotionPath Avoid SOPを使用して、近接エージェント間および障害物に対する回避を適用する方法、さらに、collisionignore
アトリビュートを使用して異なるエージェントグループ間のもっと複雑な回避ルールとコリジョンフィルターを構築する方法を説明しています。
See also |