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 ¶
Enable Avoidance
モーションパスに回避を適用するかどうかを制御します。
Tip
衝突検知(例えば、 Collision Point Group の生成など)はこの回避が無効であっても実行されるので、そのことを利用して、モーションパスを変形させることなく既存の衝突を検知することができます。
Iterations
適用する回避反復回数。
Tip
回避反復回数を増やせば、前の反復で残った衝突を解決できる場合があります。 しかし、 Max Turn Rate などの Steering 系パラメータで制限を厳しくした場合、後の反復にあまり効果が見られなくなります。
Max Collision Time
近接エージェントや障害物との衝突を予測する際に考慮される将来の衝突までの最大時間。
Neighbors ¶
Enable Neighbors
近接エージェント間の回避を有効にします。
Neighbor Distance
衝突を予測する際にエージェントが近接エージェントを検索する最大距離。
Max Neighbors
衝突を予測する際に考慮される近接エージェントの最大数。
Obstacles ¶
Enable Obstacles
エージェントと Obstacles 入力のジオメトリ間の回避を有効にします。
Obstacle Distance
衝突を予測する際にエージェントが障害物を検索する最大距離。
Collision Padding
障害物ジオメトリ周囲の余裕代を指定します。 これを使用することで、エージェントがどれだけ障害物に近づけるのか制御することができます。
Horizontal FOV
オブジェクトを検知する際のエージェントの水平視野(単位は度)。
Ray Samples
オブジェクトを検知する際にエージェントの視野内で飛ばす光線の数。 数が多いほど精度が良くなりますがパフォーマンスが悪くなります。
Steering ¶
Speed Threshold
進行方向の転換が効く最小速度を指定します。 これによって、エージェントが低速で回転しないようにすることができます。
Max Initial Rotation
モーションパスの初期ポイントが、 Max Turn Rate などの他の旋回制限に関係なく、元の方向から最大でこの角度(単位は度)まで即座に回転することができます。 これは、(モーションパス全体の動きに影響を与える)旋回制限を緩める必要なく、モーションパスの初期方向を変更するだけでモーションパスの開始位置付近での衝突を回避するのに効果があります。
Max Turn Rate
エージェントがUp軸で回転して向きを変更できる速さ(1秒あたりの度)を指定します。
Constrain Turn Acceleration
有効にすると、エージェントの振り返りが、ターゲット方向との角度と現在のTurn Rateに基づいて角加速度が変化する減衰バネのように追従するようになります。 これによって、エージェントの向きやTurn Rateの急変化が回避されると同時に、エージェントがターゲット方向に素早く大きく変化するように調整することができます。 Max Turn Rate と Max Acceleration のパラメータでは、角速度と角加速度それぞれの上限を設定することができます。
Turn Stiffness
ターゲット方向との角度に基づいてエージェントを加速させる早さを制御します。
このパラメータは、 Constrain Turn Acceleration が有効になっている場合にのみ利用可能です。
Turn Damping
角加速度スプリングの減衰を指定します。値が大きいほど振動が軽減されます。
このパラメータは、 Constrain Turn Acceleration が有効になっている場合にのみ利用可能です。
Goal Position Weight
エージェントをモーションパスの元の終了位置の方へ誘導する重要度を制御します。 この値が0の場合、モーションパス全体が回避に基づいて誘導され、ターゲットの目的地を持ちません。
Collision Detection ¶
Visualize Collisions
回避を適用した後もまだ衝突しているポイントを強調表示します。
Collision Point Group
Group 内のモーションパスのポイントの中で、回避を適用した後もまだ衝突しているポイントを含んだポイントグループを作成します。 これを使用することで、衝突を解決するためにさらに編集すべきパスを視覚化または判断することができます。
Advanced ¶
Substeps
回避と衝突検知に使用するサブステップ数。 サブステップ数を上げると、品質が良くなりますが、パフォーマンスが悪くなります。
Start Frame
回避が適用される開始フレーム。 これを使用することで、特定の時間範囲のモーションパスに回避を適用することができます。
End Frame
回避が適用される終了フレーム。 これを使用することで、特定の時間範囲のモーションパスに回避を適用することができます。
Reference Up
エージェントの元々のUpベクトル。
これとモーションパスのtransform
アトリビュートを組み合わせることで、エージェントが旋回する軸が決まります。
入力 ¶
Motion Paths
時間範囲にわたるエージェントの経路を表現したポリラインカーブ。
Agents
Motion Pathsで表現されているモーションを持つエージェントの群衆。
Obstacles
変形されるモーションパスが回避する障害物ジオメトリ。
出力 ¶
Motion Paths
時間範囲にわたるエージェントの経路を表現したポリラインカーブ。
Agents
モーションパスで表現されているモーションを持つエージェントの群衆。
Examples ¶
このサンプルでは、Crowd MotionPath Avoid SOPを使用して、近接エージェント間および障害物に対する回避を適用する方法、さらに、collisionignore
アトリビュートを使用して異なるエージェントグループ間のもっと複雑な回避ルールとコリジョンフィルターを構築する方法を説明しています。
See also |