アクターの衝突回避の挙動

 
 
 

移動シミュレーションの場合、アクターは、他のアクターおよび壁との衝突を回避する必要があります。これを行うには、衝突があるかどうかをチェックし、その衝突が切迫しているかどうかを計算する手段が必要です。このセクションでは、アクターにデータを設定する方法を説明します。設定によって、シミュレーションでアクター衝突を回避するときの挙動が変わります。

アクターが衝突を調べる方法

では、アクターは別のアクターとの衝突の危険性をどのようにして検出するのでしょうか。基本的には、人間や動物が視力を働かせて衝突の可能性を認識するときと同じように、視野を使います。アクターの視野およびその他の情報は、シミュレーション ポイント クラウドのエミット ICE ツリーにある[衝突回避の初期化](Initialize Collision Avoidance)コンパウンドの[ビジョン](Vision)パラメータで設定できます。

潜在的な衝突の可能性を判別するため、アクターの前方方向の視野が計算されます。アクターの視野の範囲は、[水平視野](Horizontal FOV)および[遠点インタラクション制限](Far Interaction Limit)によって設定されます。後者は、アクターが確認できる前方のユニット数を定義します。

視野内で他のアクターが検出されなかった場合、アクターはその速度または方向を変更しません。一方、視野内で 1 つまたは複数の他のアクターが検出された場合は、衝突が差し迫っているかどうかを判別するため、シミュレーション時にいくつかの要因が計算されます。

衝突が差し迫っている場合、アクターは、「アクターの衝突回避方法のセットアップ」の説明に従って行った[衝突回避の初期化](Initialize Collision Avoidance)コンパウンドでの設定に応じて、減速または方向転換します。

それらの値は初期化され、パーティクル シミュレーションの期間に使用されます。そのシミュレーションでは、「Anticipating Collisions in the Simulation」での説明に従い、[衝突回避のシミュレート](Simulate Collision Avoidance)コンパウンドでアクターの予期される挙動を変更できます。

注:壁の衝突検出は、水平視野を使用する場合とは別の方法で設定します(「障害物(壁)との衝突を回避する」を参照)。