In Unreal Engine 3 they support multiple weight sets for meshes so they can have limbs detached but not having weird artifacts where the removed bones are influencing the body (described a little bit here).
My question is, do any of you have an idea how this might be done? I've been thinking they store each part/limb in its own vertex buffer and swap the buffer used depending on the weight set wanted. They also say that when exporting meshes from 3d modelling software "There is no performance penalty for creating your skeletal meshes this way. The individual parts are all combined when being imported into Unreal Editor." Does this mean they are all stored in the same buffer? Otherwise it would be a penalty right?
When having an object (in this case a humanoid) that's rigged with a skeleton and have multiple meshes (parts of the body), how are they connected? Let's say I have a class for objects like this and I want to be able to cut off limbs and having these limbs be completely separate objects, should the bones from the skeleton have a mesh associated with them? Because some parts may contain several bones (like the hand) and I want to keep the hand like 1 logical object and not destructible, how can this be structured in the code?
Let's say I want the forearm and hand to be one atomic part of the body and it contains multiple bones from the skeleton and perhaps several different meshes (maybe not this exact case, but there are other cases). If this is an object of its own, it's not clear to me what would be this objects transform, as there are several bones inside of it with their own transforms. Does anyone have experience with similar stuff?
I'm not sure I was sufficiently clear about these questions, and there are a lot of them, and if so I apologize and just ask and I'll try to clarify.