Hello everyone,
From what I’ve read on the forums, the best way to create wearable assets for a character that can be dynamically swapped is to include all the assets in the model. For example, Diablo’s Barbarian model would be a base model that’s in his underwear but will also include all helms, chestplates, bracers, belts, boots, etc… Now there are a couple of ways that the assets can be made : 1) split the model into regions that can be completely replaced by the asset. For example, one helm asset would be a bare head (no helm) while the others would be the helm and whatever parts of the head that remains visible. 2) keep the model intact as one big piece and model the assets to cover the appropriate certain regions. For example, each helmet would be modeled on top of the head, each chest-armor piece would be modeled on top of the chest, etc… Approach #1 seems to take more time but reduces poly count while Approach #2 seems to take less time but increases poly count. All of these items would be bound to the rig and are therefore a part of all animations. Assets such as weapons and shields need not be included since they can be mounted on to a mount-point dynamically. Wearable assets can be swapped by simply toggling the active state for the current asset to false and toggling the active state for the new asset to true. When exporting the model, the main mesh and rig should be exported to one FBX file while each animation should be exported to their own individual FPX files without the main mesh. They should conform to Unity’s ‘@’ sign convention so that Unity will automatically link each animation to the main mesh.
These are all my assumptions so far based on what I’ve gathered on the forums and experimentation, so please correct me if I’m wrong; it’s important that I know where I’m going off the deep end ![]()
Okay, so here are my questions :
- Which approach should I take to modelling the assets : #1, #2, or some other approach?
- If there’s 100 of each asset (ie. 100 helms, 100 chestplates, etc…) then I assume that instantiating the Barbarian would take a VERY long time and hog up a TON of resources since each individual asset would need to be in memory. (I assume that they are in memory even though they are inactive). Therefore, I must be missing something since this is obviously the wrong approach, and putting all of the assets into the model is definitely not the way to go. However, everyone seems to claim this is the way to go, and the Unity Character Customization example uses this approach (but then again they only have 2 of each asset).
Help me, all-mighty Unity Community; you’re my only hope!
El Diablo