-1

上司がこのソース コードをくれて、剛体物理シミュレーションのサポートを追加さ​​せてくれました。基本的に、このソース コードは、多くの建物と交通量を含む大規模なシーンをシミュレートします。コードの衝突部分を確認しました。境界ボックスを使用して衝突を確認するだけなので、質問は次のとおりです。

  1. シーンが大きく、500 以上の建物があります。剛体物理を追加したい場合、静的オブジェクトに各バウンディング ボックスを追加する必要がありますか? 建物と相互作用できるように、ボックスなどの新しいオブジェクトはありますか?

  2. ode に 500 のバウンディング ボックスを追加しますが、速度はどうですか? または、それを行うにはいくつかのトリックを使用する必要がありますか?

  3. 車などの古い衝突物を保持したい場合は、建物にレイ テストを行い、その結果を保持しますか? 可能であれば、この建物も ode に追加されますが、不要でしょうか?衝突ボックスは既に ode にあるため、または内部光線チェックの代わりに ode 光線テストを使用する必要がありますか? つまり、質問は基本的に、両方の衝突のものを処理する効率的な方法は何ですか?

4

1 に答える 1

0

はい、各建物の境界ボックス (またはメッシュ) を ODE に追加する必要があります。通常、すべての建物を含む QuadTree スペースまたはハッシュ スペースを使用します。建物を実際に動かしたい場合を除き、建物にボディは必要ありません。

あなたは「古い衝突のもの」と言っています-既存のソースにすでにいくつかの衝突コードがありますか?

ODE は光線テストを実行できます。すべてのテストに同じ方法を使用する場合は、ODE ray テストを使用するようにコードを変更できます。

ODE は衝突を生成する必要はまったくありません。すでに良好な衝突検出があり、剛体シミュレーションだけが必要な場合は、各フレームに適切な dJointContact ジョイントを生成して、車とその環境の間の相互作用を表し、車のボディのみをシミュレート (ステップ) します。 s、それらの連絡先に基づいています。

于 2012-03-17T05:04:39.210 に答える