Search Unity

Best system for character creation/editing/equipping in 2021

Discussion in 'General Discussion' started by Stephanommg, Oct 31, 2021.

  1. Stephanommg

    Stephanommg

    Joined:
    Aug 18, 2014
    Posts:
    88
    I am seeking a system of character creation/editing/gear equipping with the following features:

    1) Allow in-game (extensive) avatar editing.
    2) Allow equipping clothes and armor, that morph accordingly to the avatar editing
    3) Dispense the need to skin the cloth 2 times (for male and female). I think the solution here would be an universal and highly editable humanoid avatar that can be modified into arbitrary (humanoid) shapes, making it possible to create different genders from the same avatar, as well as different races (as goblins, elfs, etc).
    4) If possible, compatible with a program specialized fro character creation and skinning, like Character Creator 3 (CC3)

    I know that UMA 2 does almost of this, but it seems to not provide a way to extensively customize an avatar allowing the generation of different genders from the same avatar. I am not sure this is true, and this is one thing that I would like to know. Without this, UMA 2 fails on item 3. I have heard of Morph3D but it seems to be gone.
     
  2. Every sensible character creator will fail on #3. This expectation is impossible or you're looking for very stylized characters where real human body features and proportions aren't a concern.

    Furthermore #3 and #4 are mutually exclusive.

    - human female and human male proportions are different
    - human races (if there is a better term in English, sorry, I don't know it yet) are also different, a Caucasians have different proportions from African descents or Asians
    - and not to mention your expectation of different races... goblins, elves, dwarfs... all different proportions

    All these combined is impossible from one base mesh if you are aiming for realism. Stick figure, block figures, very low-poly characters? Sure, but not realistic high-poly ones.
    This is the reason UMA2 needs a base mesh for all of these "races" (including different one per gender too).

    - Morph3D is dead (lucky us!) and it never worked. There is the Tafi from the same company, but honestly, I would stay away and wouldn't poke it with a ten feet long pole.
     
    Rewaken, NotaNaN, Ryiah and 1 other person like this.
  3. Stephanommg

    Stephanommg

    Joined:
    Aug 18, 2014
    Posts:
    88
    It is not impossible. It is just a matter of having enough bones to allow modeling every feature (i.e., breasts/no breasts, ear modeling, etc). The different proportions would be a result of the modeling. But yes, it seems very challenging.
     
  4. Okay, maybe I was exaggerating a bit. Let's call it 'not feasible'. :)
     
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    This sort of thing does not exist as far as I know.

    It is impractical.

    Altering character shape require a LOT of bones, results will look awful, and you'll still need to bind clothes to the bones.

    Rebinding clothes properly requires a completely different approach and often would impose heavy limitations, like all characters using the same topology for the mesh. That's why nobody bothers with it.

    Some external characters editor like makehuman and Fuse (now dead) offer ability to rebind clothes, but the results are not perfect (clipping issues are common), require tweaking by hand afterwards, and require the model to be prepared in a specific way.
     
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
  7. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
  8. GimmyDev

    GimmyDev

    Joined:
    Oct 9, 2021
    Posts:
    160
    It's definitely feasable and has been done multiple time, the issue isn't gender, the issue is covering all variations, most gender based character creator are just shoddy piece that want to shoehorn all women as baby doll ad all men as Schwarzenegger, that's why they need different mesh, turns out some women do have shoulder like Schwarzenegger, unsurprisingly you can't make them in the shoddy character creator™


    Not that you can make all type of men too.
     
  9. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    There are actually very few games that had done this properly, and none covered all variations (examples of games that had this sort of system were Fable, Sims and Saints Row 3/4). Usually limb length variation is forbidden, same goes for shoulder position.

    There's UMA, but IIRC clothing binding in it is not automatic, and that's what the OP asked for.

    I'd also argue that schwarznegger body type characters hasn't been popular for quite some time.
     
    Lurking-Ninja likes this.
  10. Erh... example? Because it is a very bad idea to animate bodies with extra, unused but weighted bones around. The main problem with what you describe is that different genders and races have different proportions and such they need different skeletons and they need different density of vertices at different places.
    When you get a super-generic mold and just dump all of those edge-cases in it, what you get is a smelly soup of weird, unusable skeleton-mess with weird and clunky animations. Sure, you may be able to create a muscle-woman in it, but you can make a muscle woman in UMA too, all you need to do is to feed a specialized base mesh for it. Is it easy? If you know what you're doing it is. Is it one-stop-shop? Certainly not, but gives you the best result. Did you know that you can build and change anything in UMA? Including cars, spaceships as well as robots and all kind of two or four legged living creatures?

    Also, this thread starting to mix up character creation as in your game and character creation as in DCC software. The two are different. CC3 is a DCC software, UMA is an in-game Character creation-helper framework and being as such, it works with whatever base meshes you feed into it.
     
    Last edited by a moderator: Nov 1, 2021
  11. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    I'll provide details for the heck of it.

    Sims uses the same skeleton for all models in the same age category. They, however, use a TON of morphs, and switch to fat animation for walking if the model is overweight. They do not allow limb length difference or shoulder reposition.

    Skyrim uses the same skeleton for both males and females as far as I'm aware, so people binding skin replacement go to ridiculous lengths to modify the default skeleton. This reaches voodoo level. Not much customization aside from face, skin tone, and primary detail texture. It think there was some sort of chubbiness slider, though.

    Same deal with fallout 4, where emaciated and fat raiders aren't a thing.

    Fable provides multiple morphs for characters that change almost in real time, but... there's no adjustment for face, no adjustment for limb length, and limited number of sets. (Making them all work with body morphs was definitely a pain).

    Saints Row offers fairly rich cloth options, and also allow character to morph between skinny, chubby and buff body types, but does not alter limb lengths (IIRC)

    Dark SOuls... uses bone scaling, and heavily limits it. You actually can't make a Schwarznegger there, but can make the model chubbier.

    UMA... uses bone scaling, rarely seen in the wild, because making morphs to work with default config is a pain. I've seen it in Empyrion (where it looks atrocious), and I've seen it in Blade and Sorcery (where it got replaced with a custom system to accomodate for more realistic avatar).

    NOw, regarding DCC tools, Makehuman can rebind clothes, but not at runtime, and results require manual tweaking, as newly bound cloth does not properly account for change in shape if it is extreme. For example, if you take a dress designed for a skinny girl and put it on a "Hulk" type male, it is going to deform weirdly due to male having a pronounced muscle definition and six pack, meaning you'll now have polygons clipping through. A lot of them.

    Gender, by the way matters. Or, rather, biological sex. As hormonal changes heavily affect the way the body is built, down to small details in face. Outliers exist, but usually unachievable without steroids.

    However, the games portray such outliers, though frequently not for the player character. One example is Cyberpunk 2077 and Animals gang.
     
  12. Yeah, you can use morphs for some extent with severe limitations. But if you read back, we were talking about bone-based system. I said it's not feasible with a bone-based system.
    Well, Sims isn't the most versatile and detailed character. If you want stylized characters like Sims, it's good enough, but I already covered it in my very first post.
    I will admit it I don't know anything about these, other than they exist. So IDK how their character system work.
    Yes, the question is: does it use one base mesh for all characters or does it use different ones for certain ones? Because that's what we're trying to discuss, not that you can select N character in the game. And if it has only one base mesh and one skeleton then how limited is the system.
    Maybe, but different base mesh with separate set of morphs. AFAIK, although I never modded Skyrim, so I'm just relying on the mods others made. I may be wrong here.
    UMA has both bone scaling and morphing capabilities (usage, not authoring). It's more famous and more strong in bone-scaling, that's true. But you need to use multiple base meshes (aka races - with some extra stuff) to be able to get detailed and high resolution results with proper changeable bodies and features. UMA is whatever you make it to be.
    And usually you need some sort of DCC tool to make those base meshes, skeletons and accessories. And if you want god-like biceps, just open up your base mesh in blender and throw in some extra bones on the upper arm, paint the weights and make sure they don't affect the neighboring bones and off you go.

    Again, I'm still talking about the authoring side of things. You're better off with multiple base meshes and maybe multiple skeletons (obviously depends on what variety you're looking for). The important thing is, multiple skeletons will cause you extra work, because the clothes need to be fit on them and they aren't compatible (they need to contain the target skeleton too).
    On the top of this, you can have morphs your limit is either the sky but more likely your target platform's capabilities.

    No. Morph3D was a train-wreck. Never worked. They had proprietary "cloth-converter" and claimed that you can't sell (or maybe even give away I'm not sure it was a long time ago) the end-product. They couldn't write a proper shader to hide the lower layers of clothing and skin, so the t-shirt and skin always poked through on the torso and knee cap on the pants... it was ugly. And they sold it for real money. And then one day just erased the project silently (ghosted the buyers) and came out with the Tafi line, which is the same but in another skin.
     
    Last edited by a moderator: Nov 2, 2021
  13. GimmyDev

    GimmyDev

    Joined:
    Oct 9, 2021
    Posts:
    160
    Cloth is another issue, but bone length is a limitation due to game play metric generally, so that interaction are compatible and the anim budget don't explode (and also fancy Ik rig are still expensive).

    Unfortunately I don't have time to make a survey of all character creation in game, especially including niche title you won't mentioned. BUT I'll do it in the future since it's literally one task I have pending, though the waiting scale is in month possibly years, that's not where I start the project.
     
  14. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    Not quite.

    Let's say you have a handstand or cartwheel animation. Now you change arm length. The animation is broken.

    Let's say you have a walking animation, and change leg length. The animation can break, and might start feeling off. For example, if you significantly reduce leg length, the walk cycle will need a complete alteration.

    So, basically in the first place you only do that in some narrow scenarios where the player is already a walking capsule, and the game is not focused on animation. You also can't really solve this with IK.

    It gets more interesting.
    Alterable limb length require much more complex skeleton and can pretty much double bone count.

    Basically if in normal case, you'll have a hiearchy like Shoulder-->UpperArm-->LowerArm-->Hand, and bind directly to that, you can no longer do that if you want bones to stretch. Instead you'll have an extra bone parented to UpperArm, an extra bone parented to LowerArm and you'll bind to that. So it'll become:

    Code (csharp):
    1.  
    2. Shoulder
    3. * UpperArm
    4. ** UpperArmBind
    5. ** LowerArm
    6. ***LowerArmBind
    7. ***Hand.
    8.  
    That will allow you to move lower arm to the new limb end position, and then stretch upperArmBind so the scale transformation that is necessary in this case does not propagate to arm's children.

    However. You'll still need to check if your mesh is compatible with stretching. That means extra work and extra price on animated models.
     
  15. GimmyDev

    GimmyDev

    Joined:
    Oct 9, 2021
    Posts:
    160
    I wrote procedural animation stuff, I know all of that, I wasn't making a rebuttal, i was pointing than the real priority was gameplay metric. Also feet planting IK, head look and automatic aiming exist since at least the n64, and retargeting is thing that exist too. Ernst Adams (Madden) was talking about it since the early gamasutra day, for those who remember. And who played Die by the sword? that was in 1998 on pentium III.
     
  16. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    You need more than just that to accommodate limb length, and retargeting is still an uncommon feature due to difficulty of estimation of movement effect on character position. Especially if root motion is involved.

    Additionally... imagine a ball dance animation.
    Now both characters can have their sizes drastically altered.

    Or something basic like sitting on a chair, except the character size can range from a hobbit to a giant, and the chair remains the same.

    If you're dealing with narrow situation when those scenarios are not present, you can get away with it. If not, you'll be rolling out a complex controller.
     
  17. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    One could alter bone lengths at the customization stage. Then the vertices arrayed over along with weights and a new SkinnedMesh constructed without any bone scaling by leaving bones at localScale 1,1,1 but moving position and using LookAt to have parent bone point down axis at child bone.. At this stage one may wish to introduce a relaxing or smoothing algo on this array to push apart any vertices that may have gotten too close in the edge loops.
     
  18. GimmyDev

    GimmyDev

    Joined:
    Oct 9, 2021
    Posts:
    160
    You misunderstood the point I'm making:

    1. Varying character metric lead to playtest returning confusion from player, which is why gameplay metric is enforced. For example shooter need to offer the same surface area to not offer gameplay adventages, which lead to normalization of character, fighting games have varying character metric but rely on precise animation frame for legibility, and unique character animation for personality. The only genre that actually allow you to change character metric such like limb length are MMORPG who use animation as visual feedback without hitbox, ie they do not need gameplay metric because they use abtsract resolution.

    2. A tech do not need to solve edge cases to be used, they just need to solve the common cases, animation blending and IK is widely used and they fail at a lot of edge cases too. You can adjust many animation by tracking the angular range based on length, that's what Unity's mecanim already do, and UMA support it at run time.
     
    angrypenguin likes this.
  19. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    Eh, No. That one's false.

    One of the examples I gave is Sims. And that one is single player dollhouse. That's number one type of game where they'd want to have different height. Yet they do not offer that feature.

    Enemy variety is a desirable thing in shooter to make enemies look different, and current arena based and F2P titles pretty much make a point to make players DIFFERENT. And give them advantages over each other.

    A class, a character model, a weapon, a hitbox, a weapon drop.

    Even in quake 2 times there were people picking the "girl skin" over "cyborg skin" because the girl is harder to hit. Other picked cyborg skin, because it looked more badass.

    So while there are things affected by gameplay and restricted based on feedback, this is not one of them.

    Height variation is a desirable trait. It is usually not implemented because of technical issues associated with it.
     
  20. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Really? I don't believe their hitboxes were different, though it's Quake 3 I played. Other things could make them easier to hit, by being easier to see and hear, but I don't think the colliders were a part of it.
     
  21. If I remember correctly (man, it was a long time ago...) first Q2 had different hitboxes and they "fixed it" in a patch afterwards when the arena-part really caught on. But they were and AFAIK stayed simple boxes.
     
    angrypenguin likes this.
  22. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Makes sense. From a quick search it sounds like Quake Champions does use different hit boxes, but it's based on class rather than character.

    I agree that certain types of variety are a desirable trait, but variety in areas which relate to game balance often do get restricted for that reason entirely separately of what may or may not be technically possible on the rigging and animation side of things.
     
    Lurking-Ninja likes this.
  23. Yeah, I think (among other valuable things) that was the lesson the industry learned regarding hitboxes with Q2.
     
    angrypenguin likes this.
  24. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    Maybe they were the same, but people picking the girl skin because it is smaller and harder to hit (or because they thought so) definitely existed.

    Basically, GimmyDev's argument was that the heights do not change to equalize chances and make everyone on the equal footing, while what the modern games are doing is exactly opposite of that. That's why there are classes, loadouts, random drops, random triggered abilities and so on. And additionally what people love is expressing themselves which is making their character different.

    Basically when everyone is a clone the game is going to be stale as Quake 3 times are dead. What is more interesting (and appears to be more common now) and can pay off in the long run is making everybody DIFFERENT and creating innumerable way of possible strategies that may or may not be efficient just so players sink thousands of hours trying to master a single character.

     
  25. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Nah, they gave different examples of different types of games and talked about how it's approached differently in each, but that mechanics have to come first to avoid confusion.

    In games where player height (or whatever attribute is in question) can't change for mechanical reasons, it can be confusing if you give players the freedom to make visuals which greatly mismatch from the mechanics. Instead, the usual approach is to maximise freedom of expression within the constraints set by the game's mechanics.

    The example of fighting games, which they already raised, supports their point. In a game where every character is mechanically bespoke anyway the developer (not the player!) can do whatever they want with the art as long as it still effectively communicates the mechanics. A big character in a fighting game isn't just drawn big, their hitboxes will match that, and their moveset will be designed around it on a per-frame basis. Class- and character-based shooters and MOBAs work on similar underlying concepts.


    Imagine if Splitgate allowed players to adjust character height. Either the colliders would adjust too, and everyone would want to be a small character, which would mess with game balance. Or the colliders wouldn't adjust, and suddenly headshots are unreliable because the head may no longer align with the head collider. Cosmetics are a huge part of that game, and I'm sure it'd be technically achievable, but I'd be shocked if they do offer height customisation because it'd mess with their mechanics.
     
  26. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    And that's why the idea is for the game developer to use their brain, add a mechanical effect to height change and introduce a tradeoff.

    A small characters? Congratulations, now you can carry less, can't see the road from behind the steering wheel and cannot use big weapons.
    Big? Well, you no longer fit in that one narrow passage, move slower and cannot use tiny weapons. And you probably won't fit into an APC anymore.

    It is pretty much on "common sense" level, really..

    Except, like I said....

    Not every game is multiplayer, not every game needs "balance" and we have Sims. Which does not have height change, likely due to difficulty of designing two-character animations in this case.
     
  27. And what numerous racing games thought us? You don't even have to give different strategies, people will provide that in their heads for themselves if you're clever enough. Just throw a bunch of different statistics on the screen and let people care about it and you can get away with only visual differences.
     
    GimmyDev and neginfinity like this.
  28. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Um, no. Quite the contrary, in fact. One does not simply "add a mechanical effect" and call it a day. Not if you want your game to be good, and not if you want to ship it.

    Your idea of "common sense" would have people re-designing games, with huge additions to required balancing and an overall significant increase in scope, all to support an option that often has nothing to do with the core design, and which I've seen few people (if any?) actually ask for.