I also recommend Ogre. Ogre can do this, it provides everything you need with regard to grid support and animation, but not as an insert solution. You have to write a lot of code for this.
In our project, we implemented something like you. The main character and any other character can be dressed with various weapons and armor and visual changes to the character's avatar, respectively.
As a hint on how to do this: in your modeling tool (Blender, Maya, 3ds max, etc.) you model your avatar and all your clothes that you need and set them on the same skeleton . Then export everything individually to the Ogre grid format.
At run time, you can attach the clothes nets that the user selects to the skeleton instance so that they together form an avatar. This is not easy to do with the Ogre-API, but for even easier access to this, you can use the MeshMagick Ogre extension meshmerge tool. It was designed specifically for this purpose.
If you want to change other characteristics, such as facial features, this is also possible, since Ogre supports animation of representations in the form of vertices from the box, so you can prepare patches for certain facial characteristics and allow the user to change the face with sliders or something like that. (e.g. in Oblivion)
One thing you need to know about Ogre: This is a 3D graphics engine, not a game engine. Thus, you can draw material on the screen with it, animate and illuminate and somehow change the visual effects, but this does not make an input signal, physics or sound. To do this, you need to use other libraries and integrate them. However, several pre-installed game engines based on Ogre are available.
haffax
source share