私は単純なタイルベースの2Dゲームを開発しています。レベルがあり、タイルや相互にやりとりできるオブジェクトが配置されています。タイルマップとの衝突をチェックすることはかなり簡単であり、複雑な線形のすべてのオブジェクトに対して行うことができます。しかし今、私はオブジェクト間の衝突を検出しなければなりません。そして、私はすべてのオブジェクトを他のすべてのオブジェクトと照合しなければなりません。衝突検出にO(n^2)の複雑さを避ける
私は正方形の複雑さを避けたいと思います。オブジェクト間の衝突検出呼び出しを減らすための既知の方法はありますか? BSPツリーのようなデータ構造がありますが、これは簡単に維持でき、一度に多くの衝突を拒否することができます。
例えば、レベル内のオブジェクトの総数は、500の周りで約50それらのは、一度に画面に表示されている...
ありがとう!
すべてのオブジェクトまたは表示オブジェクトの衝突検出を行いますか? –
hm。まだ分からない。私は、画面外のオブジェクトとの衝突を無視することができると思います – SadSido
その場合、可視オブジェクトのみを収集し、衝突検出を行うことができます。まだO(n^2)時間の複雑さ。 –