I know I can swap textures on a mesh, but it should be impossible to use several textures on one mesh simultaneously, right?
If it's impossible, how can I do such things as changing clothes, armor or whatever on the character in the game?
The only ideas I had when thinking about it were creating a separate mesh for body for wearing body textures and hands and feet for their textures. The other idea was to create different texture sets and changing them, but it seems pointless if I have 20 different variations for body and legs (then it means 20*20=400 texture sets), so this idea seems useless.
What do you suggest?
Actually it's not. To just swap textures is simple provided each texture follows the texture atlas of the mesh. But the end result is not all that great.
I know firsthand that games such as Oblivion have several models of characters as they appear when wearing boots, cloaks, wrist armor, chest armor, etc. The 'revised' models are all thrown into the main model in local space. The program then figures out which of these 'model versions' to use. Oblivion and all games that utilize the Gamebryo engine use the NIFL format. You can download a NIFL viewer that will allow you to view the models provided you own the games that the models come from. Once you see the models in a viewer you will see exactly what is being done to show the various clothes you can put on the player.
These games also have information in the model file for orienting weapons when they are in the hands, on the back, lying on the ground, and in the belt.