Character customization

Hi all,



We continue developing the mmorpg I've already mentioned on the boards and we are doing requirement specs and technical studies right now. I've hit a problem and I couldn't find good docs in this subject until now.



We plan to do a character customization, where you can modify certain visual traits of the character. One could modify the visual appearance of the character by setting sliders (just like in "makehuman") and choosing elements from a list at character creation time, and later by equiping gear. I know that some features can be accomplished by setting different textures and mounting different models on the body model (switching weapons, etc), but I feel there are things that cannot be accomplished with this. Some sliders change the shape of the model (fat-thin, tall-short, face proportions, etc), and some gear modifies the shape of the model too (a cloth armour can probably be equiped by only changing the texture, but a plate mail also changes the shape of the model, not just the texture, and it fits differently on a fat character than a thin character).



I'm currently looking for ideas (not code) on how it can be designed/developed. I'm thinking about having multiple models for the characters and somehow morphing between them (sounds to be very complex and cpu consuming), or having certain "bones" that are not included in animations (can it be done?) but modify the appearance by setting them (by hand). Did any of you create a feature like this, or does anyone have good docs about how it should be properly done? Does jme2 have features that can be used for this?

Hi



Probably it is not the best idea, but I would implement player selection by morphing some predefined models and once selected, save the morphed model amd it's morphing parameters to apply them tp armors, dresses and so on at loading time.



Also, morphing is not that CPU consuming. Take a look at the hottbj morphing feature.



Good luck

hi,

do you know Dragon age Origin? (i guess you do)

There is a complete development IDE to create mods that you can download.

I'm not telling you to do a mod for this game, but you could be interested in how they "split" there character models :

a character is divided in 8 parts :

  • hair
  • Head
  • Torso
  • right hand (from about half of the forearm)
  • left hand
  • legs
  • right foot
  • left foot



    You can change any part to customize your character (no morphing there).

    The drawback is that your characters and gears need to be sufficiently generic so you can fit them to the same rig.

    You'll probably need to model each gear for each race of your game (there are good chances that a plate armor for a dwarf won't fit an elf)



    For the proportion edit, i think it would be a lot more difficult, but usually what is done is to offer the possibility to scale in or out a group of vertices on the model. I don't know how this can be done technically, but it's what for example Aion's character customization interface was offering. (i think there is a free demo of character creation on NCSoft's web site, this could give you ideas)



    hope it helps

Hi,



joliver82: Thanks, I'll look into it. It seems to have some of the features we need although I got more questions than answers about whether it will be enough for our feature plans.



nehon: Thanks, but we'd like a bit better feature than just switching character parts. What we'd like to do is something that exists in makehuman, or in Perfect World (free mmorpg) - being able to customize the character with many sliders to create a realy unique character. We will have only one playable race (humans) but with different nations, and that's one of the reasons why we'd like to make character creation very dynamic - so the players won't miss other playable races that much.

gaba said:

nehon: Thanks, but we'd like a bit better feature than just switching character parts. What we'd like to do is something that exists in makehuman, or in Perfect World (free mmorpg) - being able to customize the character with many sliders to create a realy unique character. We will have only one playable race (humans) but with different nations, and that's one of the reasons why we'd like to make character creation very dynamic - so the players won't miss other playable races that much.


Well that's why i was talking about Aion character creation interface, you can make anything from a Danny Devito to Brad Pitt starting from the same template just by moving sliders..(you'll see lot more Brad Pitt than Danny Devito in game though  :P )

nehon: Yes, many games provide a feature I described. Unfortunately I cannot check out Aion (except what's visible on youtube) as it doesn't provide trial version (I've already evaluated many MMOs that provide a trial). My question is not about how such a feature looks like, but rather how to implement it - and these games don't go into details about how they achieved the visual effect. I must confess that the Aion character customization videos on youtube seems to be very impressive but it doesn't help me find out how to implement it :frowning:



I already got some ideas on how to make it but I have yet to see if it works. :slight_smile: (basically morphing multiple models, mounting, texturing)

Ok sorry, i though you were looking for "practical ideas".



To go deep into tech, what i would try is to make use of vertex groups created with blender for example. Usually vertex groups made for rigging purpose match the vertex groups you could scale. (torso, arms, forearms shoulders, etc…)

You could even use the weight applied on the vertex for animation to ponder the scale applied to the groups, so you won't have distorted body parts.

Of course you could create groups only for the purpose of morphing the body

The tricky part would be to be able to get those vertex groups exported to JME, and be able to apply transformation on them.

That's the way i would go if i had your requirements.


nehon: No prob, I'm already over evaluating many mmos on this subject. Unfortunately the ones you advised don't have a trial version so I could not evaluate them. I've already seen this feature working in some MMOs and I'm interested in the implementation details.



This vertex group idea seems to be interesting, as it would reduce the work of the modeller (instead of n+1 models, he/she only needs to create one, although more complex), especially when using many shape settings. I guess that the AnimationController will need to be changed, too, so animation doesn't change the shape's scaling settings - that means more programming work, as the morphing version is mostly already implemented. I'm a bit worried that more complex shape settings (like muscle growth) are not available as I can only apply (weighted) transition, rotation and scaling on the vertices - the morphing version doesn't have this restriction.