I am very new to game modelling, not really good at it at all, as am mostly a hobbyist programmer and a real world IT-tech professional. Though i am very interested in understanding what it takes to make games today, and how it works. Now i know more or less everything on the surface, but there is one thing that I have hard time grasping.
I know there are many ways, what i am interested is someone with experience who can tell me the most used way of workflow to get customized characters into UE4 ex. I have base character and i want to be able and change cloths. What is the most used workflow for this nowdays?
Is it to have a base model of the character that is skinned to a skeleton. Then have peaces of cloth that are modeled to that character and skinned to same skeleton, where then you attach cloth to base character with sockets? would that work and how often is it used?
Is it that cloth is nothing else then different textures/materials? yes, that is I suppose how its mostly done today if am not totally wrong from what i have seen in games?
Different character models for every cloth peace? maybe somewhat modular, head, torso/arms, legs as a mesh for it self.
Or something totally different that i have missed?
I thank anyone in advance who can shed some light on this area for me.
If you search the forums, there have been several fairly detail threads about character customization, including:
The long and short of it is, there isn’t consensus on a single “right” way, but several approaches, including:
Using multiple skeletal meshes slaved to a single master mesh so they all animate together
Using FSkeletalMeshMerge to combine multiple selected skeletal meshes into a single mesh
Having a single model, but using different textures, opacity masks, and normal maps to get different looks
The “right” approach will depend greatly on the specific needs of your game, your target platform (approach used can greatly affect the number of draw calls, for example), and whether you’re using C++ or Blueprint.
Thank you for the answer, i am pretty aware that there is no right way of doing it. I was not asking for the right way. what i was asking is broadly what is the most common way studios and artist people do it.
The specific need of any game sound pretty much the same to me when we are talking about character clothing customization, that is the only thing I am wondering about. Just clothing, sorry if i was a bit vague.
Clothing is hard, probably the most common method is variants on arms, legs etc. (long sleeve arms - basically hands), short sleeve arms (up to where a short sleeve shirts stop)
Each part of the body, head, arms, hands, legs, feet etc are all skinned to the same skeleton. As is the clothing. Pants, Long Sleeve Shirt, Short Sleeve Shirt, Shoes01, 02 etc.
So you end up with a basic skeleton with a load of separate meshes all skinned to the same one. You then swap the parts in and out depending on what needs to be visible (like showing full arms when the character has a T-Shirt and just hands when wearing long sleeves), you overlap the parts slightly inside the clothing.
In addition to this, depending on if you use morphs or joints to change shapes (fat/thin etc.) you need those joints and/or morphs on all of the parts so you can apply them to all the parts at the same time.
The trick is to avoid having a body mesh inside the clothing, waste of verts, z-fighting etc. UNLESS you are doing cloth simulation but even then better do do no-visible low res colliders for it.
Thanks Anadin. So roughly speaking, let say i have a base char model, with 2 morphs (big/small).
We want lets say 2 peaces of cloth, Short sleeves-Shirt and Long sleeves-Shirt.
We are also assuming we have different model of shirt for long and short at the torso part.
I am also assuming that i need left/right models, or maybe we can just use same model just mirror its position/rotation,
but i don’t think that would work as it needs to be skinned to same skeleton correctly.
What we end up with is following model meshes:
*Arm short shirt /left
*Arm short shirt /right
*Arm long shirt /left
*Arm long shirt /right
*Torso short shirt
*Torso long shirt
Now this example is only for shirt change, we wont go into the whole body with legs.
All above we can double up for 2 different morphs we have.
That is 20 meshes to be able and change between a char with short/long shirt. Now that sounds like allot of work.
I was more thinking that the more common way of doing this now days was with some procedural way, where clothes automatically adjusted
to base mesh, assuming that the topology of mesh and cloth was the same, though that would make for some very boring
Yup unfortunately it is a lot of work. Cloth sims are not very real time friendly, normally you would only use it for bits like capes and stuff. I have seen versions that used morphs like morph from a T-shirt to a Polo Shirt etc. but to do that you have to have a lot of verst to make it convincing as the same verts have to make every shape.
I just had a look at one of our last characters (for a sports game with long and short sleeves, caps, helmets, 3 types of shoes, gloves etc.) it was 181 meshes.
We used a XRef of the skeleton in every part file and lots of skin weighting coping and pasting etc.
you can make it easier in the Blueprint/Code to instantiate the mesh parts if you use really good naming conventions. I cannot stress enough that you put a lot of thought into the naming conventions…
Is there seriously no good solution for this? There must be a more dynamic way Is this the same technique games likes Skyrim use? I can’t imagine the industry hasn’t come up with a good solution for such an important concept.