Home Technical Talk

Customizable game character - what do I need to do with my model?

Hi guys. I'm very new to game development and trying to create a game with character customization. I have moderate 3D modeling and animating skills, but very limited knowledge on how to get things to work in a game engine.

I want players to be able to customize 5 major parts of the character: hairstyle, top & bottom underwear, top & bottom outerwear. And here are some (maybe noob) questions that I'm facing:

1. Do I have to split the character's body into multiple parts like torso, head and limbs, etc.? I see a lot of games do this to their assets (e.g. Skyrim), but am not sure why. Is it necessary or does it bring extra benefits?

2. How should I deal with hairstyle and clothing models? If question no.1 is true, do I need to merge the clothing mesh into different body part models? Or can I have one whole naked and bald base model for my character, and various separate models for clothing and hair?

Replies

  • birb
    Offline / Send Message
    birb interpolator
    Welcome! I'm going to preface this with the fact that my answer isn't based in proper technical knowledge. Those are conclusions drawn from seeing those things get done, so take them with a grain of salt.

    1. Let's say you have 10 heads, 15 hair styles, 5 torsos, 5 legs. You have a total of:

    10 x 15 x 5 x 5 = 3750 possible iterations

    Thus the first question is: Do you want to create 3750 models for the player character? What if you need to alter a hair style? Altering 375 models doesn't sound feasible. Merging everything also nullifies any advantage you'd get from reusing some of these modules for the NPCs. One thing is to load a hair here, a leg here; loading fully unique bodies is another.

    And can you imagine the difference in the storage required for 35 (pieces of) characters and 3750 full characters?


    2. You usually merge then delete unneeded polygons of the components of a module because modules, being self-contained, lend themselves to this sort of optimization. There's little advantage to keeping the body whole the entire time unless naked characters sharing those models get a lot of screentime.

    But you do keep an intact version of the body and all accessories for yourself, to be able to maintain those models down the development process. Dev =/= Published Game.
  • Alex_J
    Online / Send Message
    Alex_J grand marshal polycounter


    this helped me ^

    you'll have to work with a programmer. Design the system using simple placeholder models and work all the kinks out before you spend time making your actual art. It's a lot of work, you need to be able to design an assembly line and then be the factory worker too.


  • zakrich
    birb said:
    Welcome! I'm going to preface this with the fact that my answer isn't based in proper technical knowledge. Those are conclusions drawn from seeing those things get done, so take them with a grain of salt.

    1. Let's say you have 10 heads, 15 hair styles, 5 torsos, 5 legs. You have a total of:

    10 x 15 x 5 x 5 = 3750 possible iterations

    Thus the first question is: Do you want to create 3750 models for the player character? What if you need to alter a hair style? Altering 375 models doesn't sound feasible. Merging everything also nullifies any advantage you'd get from reusing some of these modules for the NPCs. One thing is to load a hair here, a leg here; loading fully unique bodies is another.

    And can you imagine the difference in the storage required for 35 (pieces of) characters and 3750 full characters?


    2. You usually merge then delete unneeded polygons of the components of a module because modules, being self-contained, lend themselves to this sort of optimization. There's little advantage to keeping the body whole the entire time unless naked characters sharing those models get a lot of screentime.

    But you do keep an intact version of the body and all accessories for yourself, to be able to maintain those models down the development process. Dev =/= Published Game.
    Thanks for the reply! 

    So if I understand correctly, only the replaceable parts need to be standalone model files? In my case, the character's body itself always stays the same, and some clothing pieces need to be overlayed on top of others (e.g. an open jacket over a t-shirt), which means I can't simply merge all clothes into body parts. So I suppose I can either:

    a. Have one whole body model without hair or clothing; plus multiple standalone clothing and hairstyle models, which are attached to the body inside game engine.

    or

    b. Split the body into upper and lower parts, merge different innerwears into corresponding body parts; then attach the standalone  outerwear models to the body in game engine.

    Whether I choose a or b depends on if I need the naked body to be often displayed, right?
  • zakrich
    Alex_J said:


    this helped me ^

    you'll have to work with a programmer. Design the system using simple placeholder models and work all the kinks out before you spend time making your actual art. It's a lot of work, you need to be able to design an assembly line and then be the factory worker too.


    Thanks for the source! 

    Unfortunately though, currently I don't have a programmer to work with. I'm basically doing it for fun. I'll spend some time studying the case. I hope my head won't explode while trying to figure it out  =)
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    A character customization system is pretty much one of the most complex thing one can tackle, especially as a newcomer. I am not saying "don't do this", but rather : this is about 10x more complex than you imagine.

    Now, if you *absolutely* need one, do as follows : 

    - Make sure to base it off an existing character system. The Epic mannequin in case of UE, Adam (or whatever he's called) for Unity. That way you'll have the animations and controller taken care of.

    - Do not start with humans. Even seasoned professionals have trouble when having to deal with seamless head/neck connections (which require some advanced advanced knowledge). Start with customizable robots or something of the like.

    But overall, my honest opinion is that you are pretty much wasting your time (or rather, not using it wisely) by starting with this. If it was in the context of a game to mod (doing Dota cosmetics for instance) then that'd be a very good way to understand what gets into this. But doing this from scratch will likely get you nowhere.

    If anything I'd recommend you to look into Warframe cosmetics creation in particular. It will force you to focus on a limited number of factors, and by the time you get a couple items setup properly you'll know muuuuuuuch more about character systems than by attempting to figure it out from scratch.

    And on the side you could dive into VRChat avatar creation to understand a bit more about manual implementation of character models.

    The point of using such platforms (Warframe, VRChat) as a starting point is that whenever you run into an issue in these contexts there will only be one precise solution to your problem, and the communities of users will be more than willing to help you out. Whereas if you attempt to learn everything out of the void you'll pass for the average 14yo kid who wants to do an MMO bigger than WoW :)
  • zakrich
    pior said:
    A character customization system is pretty much one of the most complex thing one can tackle, especially as a newcomer. I am not saying "don't do this", but rather : this is about 10x more complex than you imagine.

    Now, if you *absolutely* need one, do as follows : 

    - Make sure to base it off an existing character system. The Epic mannequin in case of UE, Adam (or whatever he's called) for Unity. That way you'll have the animations and controller taken care of.

    - Do not start with humans. Even seasoned professionals have trouble when having to deal with seamless head/neck connections (which require some advanced advanced knowledge). Start with customizable robots or something of the like.

    But overall, my honest opinion is that you are pretty much wasting your time (or rather, not using it wisely) by starting with this. If it was in the context of a game to mod (doing Dota cosmetics for instance) then that'd be a very good way to understand what gets into this. But doing this from scratch will likely get you nowhere.

    If anything I'd recommend you to look into Warframe cosmetics creation in particular. It will force you to focus on a limited number of factors, and by the time you get a couple items setup properly you'll know muuuuuuuch more about character systems than by attempting to figure it out from scratch.

    And on the side you could dive into VRChat avatar creation to understand a bit more about manual implementation of character models.

    The point of using such platforms (Warframe, VRChat) as a starting point is that whenever you run into an issue in these contexts there will only be one precise solution to your problem, and the communities of users will be more than willing to help you out. Whereas if you attempt to learn everything out of the void you'll pass for the average 14yo kid who wants to do an MMO bigger than WoW :)
    Thank you very much for the advice! I think you are right that I better not start from scratch. I've been doing some research on this topic and luckily I found a character framework called UMA for Unity which seems to pretty much fulfill my need. It more or less supports my assumption A I mentioned above. I'll invest some time into that to see if I can put it into use.

    And yeah, it's a good idea to learn some basics by studying VRChat avatar creation as I see it's done with Unity. I guess I can spend some time on it as well. 
Sign In or Register to comment.