同時に多くのオブジェクトを含む2Dプラットフォーマーを作成しています。これらはすべて、AABB衝突が検出されたものです。チェックするオブジェクトの数を減らすために最初に四分木を試し、いくつかの異なる構成を試しましたが、必要なほど効果的ではありませんでした。私は空間ハッシュを実装しましたが、それはより効率的です。各衝突をチェックするオブジェクトの数は劇的に減少しました。
空間ハッシングよりもクワッドツリーを使用して2D衝突検出を行うことが望ましい場合はありますか?私のテストによると、空間ハッシュは常に衝突のテスト対象となるオブジェクトが少なくなるように思われますか?
私はアルゴリズムでタイミングをとっていませんが、たとえばCでコーディングしている場合、ハッシュは非常に高価であるか、実装するのが難しいですか?注目に値するのは、私がゲームをJavaScriptで書いていることです。この場合、ハッシュは「無料」です。
ここに比較があります、何か見落としましたか?http://zufallsgenerator.github.io/2014/01/26/visually-comparing-algorithms/