Creating Characters with Interchangeable Clothing and Armor
So I've been messing around with Godot's 3D engine for a couple weeks now. I've created some scenes, imported Meshes, used PBR textures, and even got my characters to animate, collide, and move around smoothly. I'm on to my next challenge: Clothing
Sometimes my characters will be wearing some type of chain mail, and other times plate, or just a tunic. Most RPGs have a way of rendering your character with a certain type of armor. I realize the brute force way is to render a version of all of my characters wearing their various armor types. Obviously, I don't want to do that - especially if I'm mixing and matching armor types(e.g. Plate Chest, mail arms, and leather gloves). So...
What is the best approach for creating Interchangeable clothing and armor for 3D characters? Before I create my own system I want to know, First: Is there already a really easy way to do this in Godot that I'm unaware of(e.g. Unity's UMA system)? If not, what is the best approach? And what have other people done to solve this problem?
My Current Approach
Right now, the approach I'm taking is using a 3D Model with multiple surface areas so that I can set different textures to imply clothing, mail, Gambeson, etc. If that's not good enough, (which I'm pretty sure it won't be) I think I'll create a 3D model where I can try to rip off areas like a hand and replace it with an entirely different mesh like a glove during runtime - and hope there's a way I can do it without ruining the rigging for my animations.
I would appreciate any insight the community can offer. Even cautionary tales of failed attempts would be appreciated. Thanks!