I’m working on a mobile game with 3D graphics, and I’m trying to track down some good approaches to allow the player to customize the clothing and accessories of his or her character. The characters are all humanoid, and I’m using the Mixamo rigging tool.
My first idea was to rig the character’s body mesh with all the clothes and accessories already on it, deactivate all of them in the hierarchy in Unity, and activate the objects chosen by the player through script. -But there are a lot of accessories, and we’re likely to add more through later updates. This approach seems very inefficient to me, but I can’t think of another way to do it seeing as the clothes need to move with the character’s body.
Any recommendations to approaches or plugins are greatly appreciated
UMA is one option. Another is to use the same rig for all accessories and merge/map the clothing pieces onto the character at run-time. I do not know how this is done (artist) but know this is how a lot of teams do it. The entire hierarchy will be exported with the rigged mesh accessories (only) out of 3D - and in Unity it will be (merged) onto the character, also using the same rig. This is a different process than the one you detailed, but similar.
Usually this process is done when there is a base character - complete body, and the clothes are merged into the current rig with it’s own skinning information. Since the clothes use the same rig as the character - all the animations used (via humanoid) work as expected.
This process allows a intermediate ‘system’ to handle/instantiate the character with selected accessories/clothing from a pool/array of skinned mesh objects. Again - this is not a process I know - but I know this is a process used.
Once the selected items are designated via character select or purchasing a new item etc. etc. the item is pulled from the pool/array and assigned to the character rig, or base body.
There are other character customization packs in the asset store that could provide more insight on systems like this.