Ok, here is the scenario...
I had a 3-D model in my gamem which we refer it as my main character. At some point in the game, the character will take damage and I will replace the 3-D model with another one to provide user feedback about the character current condition.
My question is... What is the most efficient way to replace a 3-D model with another one seamlessly. I thought of several way:
1. When I need to replace the model, I call LOAD OBJECT to load the damaged model, set its position, rotation to match the current one, and delete it.
Will this cause slow down during LOAD OBJECT is my 3-D model is kinda complicated, say around 8000 polys.
2. Preload all the 3-D models (both good and damaged model) before the game starts, and hide the damaged model initially. When I need to replace the model, I just show the damaged model, set its position, rotation to match the current one, and delete it.
Will the hidden model cause unnecessary overhead (asides memory consumption) or framerate hit?
3. Preload the good model as normal DBpro object using LOAD OBJECT, but load the damaged one as DBpro Mesh using LOAD MESH (mesh is not visible) before the game start. When I need to replace the model, I call MAKE OBJECT and specified the preloaded mesh, set the position, rotation to match the current one, and delete it.
I found that this is the most ideal way. Unfortunately, I don't know whether if it is a bug in DBpro, somehow MAKE OBJECT will create a DBpro object from the specified mesh with all the limbs merged together into a single mesh. For example, if I had several limbs in my .X model, LOAD MESH will somehow collapses all the limbs into a single mesh. This is not something that I want as I need those limbs for animations.
I would appreciate if any experts out there can suggest some brilliant idea to solve this problem.
Thanks in advance!

Bad Nose Entertainment - Where games are forged from the flames of talent and passion.
http://www.badnose.com/