最近、ゲームエンジンをステアリング動作からインパルスベースの動きに切り替え、適切な時間ベースの衝突解決を行いました。これにより、非常に多くの問題が解決され(トンネリングが不要になりました)、シミュレーションが大幅に安定しました。しかし、安定性には新たな問題が生じています。
3つのボールは画像の下部近くで移動を開始しました。ターゲットはピンク色のボールが止まったところです。途中、赤と緑のボールが壁のチョークポイントに引っかかっています。
以前は、浮動小数点エラーとステアリング動作の一般的な不安定性を利用して、緑と赤のボールがチョークポイントを通り抜けるまで互いに揺さぶることができました。これで、適切な衝突解決により、ボールに作用する力が互いに相殺され、その結果、ボールは完全に静止したままになります。
そのような状況を解決するために一般的に使用される方法は何ですか?おそらく、ある種の優先度キューシステムが機能しますが、2つ以上のオブジェクト間の優先度を決定する必要があると、システムが複雑になることがわかります。