Best way to set up a Character for Customization

This is both a 3D question and Scripting question.

So most MMO games allow you to customize your player at start, then add on things in game place like a new helmet or pouch, or shirt, or whole suit of armor.

If I may toss out a few questions I have been having…

  • Are parts like the head, torso, hands, arms legs all separate pieces of geometry that gets swapped out?

  • If so - The animation - is it just on one bone set and the geometry gets parented to it, their is no weight mapping?

  • Is their a way I can just animate one rig and update all my models when I add in a new animation or do I have to animate all my charters even tho they are based off the same rig (sort of like a master rig that control’s everything?)

*things like a new back back or armor… some of it is texture swapping yes… but the new things - more so the new “soft” things - Do I parent them to the original mesh then animate them? or is their a deformer I can attach?

Thanks for your time

TIM~

A lot of the major changes are mesh swaps, particularly in World of Warcraft. You basically have each major piece of geometry have not only its features but a connector. The torso would have indentations for the neck, the arms, and the legs. The head would have the neck that extends into its indentation, thus giving the illusion that everything is one piece. The arms and legs would be equally situated.

The lower-budget MMOs, though, just use static models with differing scale and swap the textures for each major piece. So headText1 would switch with headText2, etc… Nothing too difficult.

The animation is entirely dependent on the bones, so they generally have the same animations, the same bones, and just change the weight mapping for each mesh change. For the ones that just change the texture, they don’t really do anything.

Yes, you can do that. If they’re all adding the animation inside that original mesh, then when the mesh with the animations is updated the animations on the objects linking to it will be updated as well.

Yes, you’d attach them as a child based on a static point on the mesh for instantiation. You’d probably want to make them a ragdoll and give them bones + colliders to simulate cloth movement. You could also add force to the different bone rigidbodies based on current velocity to simulate air resistance.

You could have a main model that is just the bones with animations, and then have each armor and prop be a model with the same bones but no animation. Then you can parent the accessory’s bones to the main model’s bones and animate it.

I wish I could figure out how to create a shader or bone setup to allow for facial feature customization that doesn’t conflict with facial animations. It’s the last step to me being able to pull off Western RPG styled custom characters.

Im working on base character models (with separate heads, gloves, boots) swapable body parts.
I can model these but I havent a clue as how to import them into Unity.

I spent all day working on this. Have a base mesh with 2 sets of armor. All weighted to same skeleton. Skeleton animated as normal.

Was using the Character Customize bundle, but when I went to look into how to add my character I notice it uses asset bundles - Pro Only…

Seems like everything I want to do ends up Pro Only :frowning:

So now looking for a way to do this without asset bundles, anyone have any ideas?

The only part that requires pro are the asset bundles. The rest of the process you can do with the el-cheapo version.

Swapping the asset bundles for a resource folder, will increase the memory footprint of your game. But for a simple mesh with only two variants that shouldn’t be an issue.

http://unity3d.com/support/documentation/ScriptReference/Resources.Load.html

p.s. If you search the forums for ‘character stitching’ you’ll likely come up with some examples of how people did this pre-asset bundles.

Ah cool, was disenchanted for a minute :wink:

I’ve already got the armor rigged up and animations named the same as the cc project. Just have to do more digging as it has no docs. thanks.

Iirc, there was a video tutorial at the bottom of the page in the resources section where you downloaded the package. I remember it being somewhat buried, as I overlooked it the first couple times.

With World of Warcraft specifically the single character mesh has several sub objects(they call them ‘geosets’), and they turn on and off visibility based on the armor/hairstyle the character has. The only parts that aren’t built into the single mesh are shoulders and weapons.

i have a fps/rpg game im working on and the way i did the weapons is that each weapon has its own arm with its own animations. all of the arms are part of the player right from the start and are simply “active = false”. when the weapon is found or bought in the game, they become available and are simply enabled when selected.