Character customization: how to?

Hello guys,

we would like to create a game with character customization and we are now trying to figure out the best approach. Our players should be able to change:

  • Hair (mesh).
  • Hair color (texture).
  • Face (texture).
  • Character size.
  • Armor (texture).

Armor should be of various types and there should be 4-6 armor parts for an armor type (e. g. gauntlets, leggings, helm, pauldrons, breastplate and shield). The armor parts should be meshes (not just textures). You have to handle things like:

  • Various character sizes.
  • Movement of the armor with character’s animation.
  • Coordination of the 3D artists to make “suitable” meshes.

How is this usually done?

Thanks for any hints.

Typically, you build your character mesh so it only has the body. Then, you set up the rig/skeleton so that it has (appropriately placed) nodes for the hair, armor etc.

Then at run time, you hook up a left/right button to a list of your available meshes (for, say, hair) and make it so when the user clicks the button, it attaches the mesh to the proper bone.

As for switching the textures, you’d want a similar setup, but just to change the material instead.

Man this really needs to be broken down into segments that you intend to do.

Modular Pawn for the most part is what your talking about, figure out how to do this and your 80% of the way there.

IE skeleton - Character - Break Up Points laid out throughout all versions - Weight painting - getting the replication or display of different meshes at runtime.

If you can get through that then the rest of what you want to do will be fairly simple. Look up modular pawn in these forums or UE3 and start there.

I was thinking about some snapping points on the character mesh, but I couldn’t find any good one, because if we were snapping the armor meshes, for example, to the top of breast, it wouldn’t fit smaller/taller characters etc.

Good idea snapping it to the skeleton!

If we snap a particular piece of armor always right to the middle of a bone, it should fit the character model. If the character will be scaled down or up, the armor could be scaled down and up in the same manner. For example, we can scale the armor in the same rate as the new skeleton size compared to the original skeleton size.

If we also kept the “under armor” parts of the character mesh the same for other races as the original one, we could also save our time - we wouldn’t have to design variations of armor for different races of characters. There will be only male and female variants.

Hair could be snapped to the top of skeleton and scaled according to the overall skeleton size as well.

Changing skin tone, eyes and other stuff should be just about switching material, as you say.

And from the art creation view, only important thing is to tell the 3D guys to create a “base body”, which will serve as a template for any character of any race and to design the armor on top of this character template as well as hair and other meshes, which will be snapped on the character.

Sounds simple now.

Did I forget anything?

When you want to go into large/tall characters, you’ll probably want to set up morphs, and also build your items/hair etc, with those same morphs in mind, so that you can fit them together properly. That gets into the more advanced side of things of course, but it will also give you the best system possible and is a good backbone of a character customization system.

But yeah you are on the right track. If you set things up without the morph targets for now, it’d be a good idea not to get too far into creating everything, and just make the bare bones to get the basics working, as you’ve outlined in your post.

Then once you have it working and are comfortable with it, you can build your morph targets for your characters and then build out all your hair, armor etc. with the proper morphs as well.