MrSunshine
MrSunshine

Reputation: 31

Broad Phase Collision Detection - Methods In Comparison

First hey and thanks to everyone who views my question,

Im building a 3D-Physics engine for witch i need a broad phase collision detection system. The world i need this for is very specific and i compared some approaches and i'm still unsure what's the best.

Now i want to ask you for some input on this topic.

Properties of the world: - Verry large (Positions in double Vectors) - Few Objects (max 100) - Objects have complex colliders (assembly of primitives - average 10 to 50) - Objects are often clustered in groups (average 2 - 10) - Objects move constantly - Few static objects

I have 2 options in focus (but open minded for other): - Sphere or axis aligned box tree - Spartial partitioning

The sphere tree with binary structure (max 2 objects per node) might be the best..

What do you thing is the fastest? Is there any way of telling without trying every single possibility?

I hope you have some suggestions.

MrSunshine

Upvotes: 1

Views: 1363

Answers (1)

Louen
Louen

Reputation: 3677

Most physics engines out there implement some sort of Dynamic AABB tree.

They are a bit more complicated than sphere trees but will behave better and generate less false positive collisions, especially with objects at high velocity.

They also allow to easily isolate the different clusters of objects in your case, and simulate them independently by cutting the tree at a certain height.

Your complex collision shapes may also have their own AABB tree to speed up the final convex vs. convex collision pairs detection, which can then integrate in the global AABB tree.

Upvotes: 1

Related Questions