Look hard at the threads on CSP (Cubic Space Partitioning).
I'm working on a 2 level implementation of CSP that handles terrain+building exteriors with a coarse grained CSP, and building interiors with a finer grained CSP grid. The code for detecting/picking the exterior meshes of a building is done, coarse grained terrain/exterior CSP and fine grained interior CSP is next :)
My artists us Poser5 to create entire buildings as a single model with lots of child meshes that LoadAnimMesh handles quite nicely, giving access to all the "pieces" they used. I'm planning a small app to enable picking child objects of the model and assign properties to them, such as if they are a door, an activator, a light source, etc, thus avoiding having to "piece together" a building from seperate models in a map editor or code.
The visibility and property data will be used to generate BB scripts to load and manipulate an entire "level" without the main game code having to know much if anything about the level contents, simplifying the main code, while still allowing the main code to dig in and access any object.
Over all, it sounds like you are creating an environment fairly similar to mine, so maybe some of these ideas will help you out. Of course, you could help me out getting all the tools created for my setup, if you think it will address your issues, so I can release it faster :)
I'm working on a 2 level implementation of CSP that handles terrain+building exteriors with a coarse grained CSP, and building interiors with a finer grained CSP grid. The code for detecting/picking the exterior meshes of a building is done, coarse grained terrain/exterior CSP and fine grained interior CSP is next :)
My artists us Poser5 to create entire buildings as a single model with lots of child meshes that LoadAnimMesh handles quite nicely, giving access to all the "pieces" they used. I'm planning a small app to enable picking child objects of the model and assign properties to them, such as if they are a door, an activator, a light source, etc, thus avoiding having to "piece together" a building from seperate models in a map editor or code.
The visibility and property data will be used to generate BB scripts to load and manipulate an entire "level" without the main game code having to know much if anything about the level contents, simplifying the main code, while still allowing the main code to dig in and access any object.
Over all, it sounds like you are creating an environment fairly similar to mine, so maybe some of these ideas will help you out. Of course, you could help me out getting all the tools created for my setup, if you think it will address your issues, so I can release it faster :)