What is the best general structuring approach to building a robust 3d model for use in video games? (i.e. a character/vehicle controlled by the player/AI) Some of my questions in specific are:
- When should I use multiple models? This seems useful for things like weapons, but what about vehicle wheels or destructible pieces - how far should you take this concept?
- When should I use separate meshes within a single model?
- Is there a 1:1 realtionship between meshes and materials that should be honored? It seems like meshes get sent to the shaders as a unit, although you could possibly break them down into primitives and send those pieces to different shaders...
- Is it acceptable to animate a rigid model (like a mech) using a single mesh with disconnected pieces, assigning all the vertices in each piece a 100% weight to a corresponding bone?
- Should you ever create animation channels for meshes (rather than a bone)?
- Are there standards for how many texture files should be used with a single mesh or a model?
This topic may seem more to do with modeling than coding, but the reason I'm asking is because these details inform much of the design of the model handling code, which I would like to be powerful and flexible but elegant and clean as well.
Thanks for any advice!