シミュレーションで衝突を予測する

 
 
 

アクターの基本的な衝突回避設定が[衝突回避の初期化](Initialize Collision Avoidance)コンパウンド(「アクターの衝突回避方法のセットアップ」を参照)で初期化されると、パーティクル シミュレーションの間にアクターが他のアクターや壁との衝突を予測する方法を決定できます。

アクターが 1 つまたは複数の他のアクターまたは壁を「検知」すると、次の複数の係数が考慮され、[衝突回避のシミュレーション](Simulate Collision Avoidance)コンパウンド内にある[衝突回避](Collision Avoidance)ノードでの計算に従って、衝突が間近に迫っているかどうかを判断します。

ICE ツリーが間近の衝突を検出した後、[衝突回避のシミュレーション](Simulate Collision Avoidance)コンパウンド内でアクタのポイント位置が更新され、続いてその速度と向きが更新されます。

ここで説明するように、シミュレーション ポイント クラウドの[放出シミュレーション](Particle Simulation) ICE ツリーの[衝突回避のシミュレーション](Simulate Collision Avoidance)コンパウンドで[アクター回避](Actor Avoidance)パラメータを使用して、アクターの予測動作を設定できます。

このコンパウンドに適したエディタを開くには、ICE ツールバーから[CrowdFX] [シミュレーション](Simulation) [編集](Edit) [衝突回避のインスペクト](Inspect Collision Avoidance)コマンドを選択します。

衝突を予測する

アクタの動作を変更する場合に設定できる、[予測係数](Anticipation Factor)[予測コントラスト](Anticipation Contrast)という 2 つの係数があります。

Set Velocity Using Collision Avoidance(衝突回避を使用した速度の設定)コンパウンド内の[予測係数](Anticipation Factor)は、衝突までの時間を計算し、差し迫る衝突を避けるためにアクターがどのくらい早めに向きを変え始めるかを決定します。アクタが最初に回転する角度は、[予測コントラスト](Anticipation Contrast)値によります。

係数が高い値の場合は、アクターは、下の図に示すように、衝突が間近に迫っていることを検出すると、すぐに向きを変え始めます(このアクタは非常に慎重です)。

低い値の場合は、アクターは、ここに示すように、衝突の瞬間が近づいたときにようやく向きを変えます(このアクターは危険すれすれです)。

Set Velocity Using Collision Avoidance(衝突回避を使用した速度の設定)コンパウンド内の[予測コントラスト](Anticipation Contrast)は、アクターが回転する角度と、衝突までの距離とのコントラストを表します。

高いコントラスト値の場合、下の図に示すように、アクターは予想される衝突に近づいたときに鋭く回転します。

低いコントラスト値の場合、ここに示すように、衝突から離れているときに少し回転します。

アクターが回転できる角度の範囲は、Initialize Collision Avoidance(衝突回避の初期化)コンパウンド内の[低速/ターゲット速度での角速度](Angular Velocity at Slow Speed/Target Speed)パラメータで定義されます。

ブレーキをかける

Set Velocity Using Collision Avoidance(衝突回避を使用した速度の設定)コンパウンド内の[ブレーキしきい値](Braking Threshold)は、衝突を回避するためにアクターが「ブレーキをかけ」始めるタイミングを決定する係数です。この値は秒数を表します。この値を低くするほど、アクターは衝突が起こる地点にそれだけ近いところで減速し始めます。

たとえば、この値が 0.5 の場合、下の図に示すように、アクターは別のアクタと 0.5 秒以内に衝突するというところでブレーキをかけ始めます。

注:この値の問題解決を行う場合、ここに示すように、[CollisionAvoidanceTimetoCollision]属性を表示属性として使用すると役立ちます。「[AttributeDisplay]プロパティ エディタ」を参照してください。