All the player and level examples assume a quake-like bsp mesh to test against (or create the selector with) - for my app the level is created out of many block objects - so instead of one mesh i have a hundred or more - if i want to do player collision against the static parts of my level how would you suggest i do that? - can i set up the selector and make followon calls to add more mesh data to it for testing?
and i imagine for those objects that can move or be replaced in my levels that i need to write a separate object-player collision routine to check for these on the fly - or make a new selector and add the movable meshes to it each frame (or some number of frames)
Collision without a bsp level?
hmmm, it looks like is does a for loop through the list of selectors every time it wants to get the full list of triangles or those within a bounding box - that seems like it would be dead slow when using it for per frame collision detection on the player character - especially with hundreds of objects
maybe a better thing for me to do is create a new mesh and pack it with all the object meshes that will not move (after i load all my objects) - it will be more memory intensive for a big level but much faster on the collision side of things
are there other options i am missing?
maybe a better thing for me to do is create a new mesh and pack it with all the object meshes that will not move (after i load all my objects) - it will be more memory intensive for a big level but much faster on the collision side of things
are there other options i am missing?
No you're not missing anything.. Irrlicht does not have great collision detection for anything outside the 'level'. I don't know if anything is planned for the future. For now you basically have to make your own method of determining which objects are close enough to put into a metaTriangleSelector (eg brute force: loop through all your blocks, check their distance from the player, if close enough add to list to check more thoroughly).