Hi,
I haven't used Bullet before, so please forgive me if this is a very obvious question!
In the past, I have managed everything to do with a game world/level, including dynamic object creation/deletion, movement/behaviour, spatial queries (closest object, ray vs objects, etc.), collision detection/response, and so on.
I would really like to integrate Bullet to take care of some of this, namely: collision detection/response (rigid body). My confusion comes from the fact that I will now have two worlds: my own representation and Bullet's. I have my own, because different games call for different representations (flat array, octree, quadtree, 2d co-ordinate hash, etc.), which in turn have different, custom, spatial query algorithms.
What is the general pattern people use? If I create an object in my world, which has a task looking after its behaviour, steering, pathfinding etc, I take it also I create a Bullet object in the world as well so it can perform collision queries and rigid body dynamics. If so, should I use Bullet for spatial queries as well (closest object, ray vs objects etc.), or should I do this myself?
In other words, do people use the Bullet simulation purely to obtain world-space matrices for their own objects, and then perform their own spatial queries and other logic completely separately? Should I just let go and use Bullet for everything?
I'm just trying to get it straight before I start down the wrong track.
Cheers,
S