Search Unity

Character Creation

Discussion in 'Game Design' started by RxGian, Mar 21, 2018.

  1. RxGian

    RxGian

    Joined:
    Mar 21, 2018
    Posts:
    82
    Hello...

    I'd like to make a project for my study. My games is 3D fighting game with character creation such as customize body shape. As far as I know, every different shape of body has different poly count, for example male chest are different to female chest and sometimes female has flat chest. Other example, skinny male has different shape to fatty male. My question is, can we using one model shape as base model to make variety shape? It's like mesh deformation but implemented to animated object. I am afraid can't because every different shape has different vertex count.
     
  2. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    You can do it, because other people have done it.

    But, as far as I know, those other people are multi-million dollar studios. I think having an in game model editor is very advanced stuff.

    Changing the shape of a model doesn't necessarily mean adding/subtracting vertices. It just means changing the vertices location in 3d space. Change the location too far, and you can get texture stretching.

    A character mesh is not animated. There is a skeleton like structure beneath it, called a rig, and that is what holds the animation data. The mesh that you see rendered at runtime -- the collection of vertices and materials -- is binded to the rig, with each vertex recieving a certain amount of weight to each of the rigs joints. So you can move the vertices around, and the animation does not change. Within reason. Obviously, if you pull the tip of the characters finger down to their knee and then play an animation, things would look weird. But if you pooch out skinnies belly a bit so he becomes fatty, things are probably going to look fine.

    The link is a tutorial (paid) that covers how to set up customizable equipment and materials, which isn't the same thing but might be a reasonable compromise for a solo-developer.

    https://app.pluralsight.com/library/courses/customizable-characters-unity-732/table-of-contents
     
    Last edited: Mar 21, 2018
    Lafydi336 likes this.
  3. LeftyRighty

    LeftyRighty

    Joined:
    Nov 2, 2012
    Posts:
    5,148
    look up "blend shape"
     
    JoeStrout likes this.
  4. RxGian

    RxGian

    Joined:
    Mar 21, 2018
    Posts:
    82
    I've looked pluralsight and blend shape. Pluralsight using common technique like in common games skyrim (I am not watch every videos because it's paid course). My idea is the game can generate player shape by input some values, I am inspired from http://www.makehuman.org/. Because by doing that, player can make character more specific and detailed. And about blend shape, I am find on youtube that method used to animate model. It's similar to vertex weighting.

    Looks I must find my own way, maybe I will start with mesh deform and tessellation.
     
  5. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Check out UMA in the asset store - it is exactly what you are looking for.
     
    wondermagic likes this.
  6. RxGian

    RxGian

    Joined:
    Mar 21, 2018
    Posts:
    82
    Wow how cool! thanks a lot!
     
    theANMATOR2b likes this.
  7. Lafydi336

    Lafydi336

    Joined:
    Apr 11, 2018
    Posts:
    4
    your think is a have true
     
  8. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    2,076
    Okay. I do a good bit of character modelling, so my advice for
    this case, would be to make four seperate meshes, or 4 body types.
    Each with it's own suitable amount of vertices, for mesh morphing
    and mesh manipulation.

    1) A slightly muscular/skinny male mesh.
    2) A normal slim/slightly muscular female mesh.
    3) A fat man mesh.
    4) A fat female mesh.

    Doing it this way, might be alot easier. Since the vertices and number
    of vertices in each body type, correspond only, to that particular body type.
    And helps in creating characters, based on that particular body type.

    So if you wanted to make a buff fat man character, all you would have
    to do, is select the fat man body mesh, which contains vertices and
    mesh topology, specifically for the purpose of making, different fat man
    characters. And then the player, can tweak the dials and parameters,
    until the fat man characters stomach and muscles, gets bigger or smaller etc.

    The same with the skinny muscular man mesh.
    He'll have vertices and a unique mesh topology, specifically for the purpose
    of making different types, of skinny muscular, or super muscular characters.

    Doing it the way I mentioned above, will help make things, alot easier for you too.
    And help make things more organised.
    Because sometimes, having too many vertices in a single mesh
    whose purpose is to help manipulate and deform the mesh, can sometimes
    cause some eeky ugly mesh deformation problems, when manipulating
    certain parts of the body mesh.
    eg. The stomach or muscles, of the human mesh etc.

    Yeah, I'll be honest:
    It will be kinda tough, making 4 different body types, but in the end, it'll be more
    than worth it. And it might come in handy, for your other games too. :)
     
    Last edited: Jul 1, 2018
    RxGian likes this.
  9. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    1,278
    What I have done for my game is also basically how UMA works: have "tweak" bones. These bones are deforming bones that are scaled/moved during runtime.

    It's a super easy way of doing it, and it's awesome! It's super easy to set up too. What I did was basically allow the adding of a "Slider", then I simply scale whatever tweak bones I want, and click save. Some simple editor code then detects any translations, and saves them.

    Then during runtime simply scale by the amount the slider is at. EASY!

    The biggest gain is the fact that this will work for all skinned meshes on your character. As long as you weight paint everything well, then all armor / characters will just... work. :D
     
    RxGian likes this.