I'm starting out again with low poly and I always had this doubt even though it's usually ask but usually a not complete answered is given.
If I have a naked low poly model and I want to add a shirt it's impossible to not make it clip throw the body? how do games manage to avoid that, do they hide the body underneath with a scrip? And if later they add an something like a vest over the shirt, do they hide the parts where the shirt would clip closer to the shoulders? If for example the character has to lean forward isn't the vest and shirt going to clip a lot if they don't have the same topology loops?
I hope I'm not confusing anyone with my question, it's my only pain when I deal with low poly, wtf do I do with clothing, wtf do I do if they ask me for a naked character that later I'll have to add cloth, the only thing I know is that I have no clue how people do it, usually the answered is something like they change the body mesh but is that optimal?
Replies
you can transfer the weights from underneath mesh to the exterior one.
Sometimes that works well, like if its form fitting clothing.
If it does not work, you could toil endleslly trying to make corrective shapes or fuss with skin weights... or you can just make an alpha mask to apply when clothing is changed, or you could associate parts of the body mesh with certain outfits.
Which solution works best depends on your models, your application.... details of your project in other words.
great so there are solutions even thought I don't fully understand them. transferring weights will only work if both the body and cloth have almost identical topology so they move the same way right? Not sure about the second option and the alpha mask seems like the easiest, it would be something like you have an alpha map on lets say the shirt that will be applied only when the model deicides to use a vest hiding parts of the shirt right? I'm happy that know I have some idea thanks
yes that sounds right.
Basically, it's like you are saying this:
When character wears Shirt A, then toggle ON mask A in the character skin material.
If you did it with geometry instead of textures it would be like this:
When characters wears Shirt A, then toggle OFF naked torso model.
The difference here is that the ShirtA model would include those parts of naked torso which could be seen.
So for instance if the shirt is short sleeve, you'd duplicate the body mesh and delete all faces except the exposed arms. Then combine with the shirt mesh. Now the combined arms + shirt are the Shirt A mesh.
About transferring weight paints - IME the topology doesn't need to be exact. As long as the general edge flow is the same it may be fine. It's not hard to test and see. However, if you have some geometry that will not be seen, I'd probably opt for just deleting it. It may be a micro-optimization but then your animating fewer vertices overall.
It's both more simple and more complicated than it seems. In short :
• You basically never want "skin under the clothes"
• This usually leads to relying on modular models, following very carefully placed edge loops on the base bodies - either having skin and clothes as part of the assets as mentioned above, or keeping them separate.
• And then on top of that there can be a set of logical rules and exceptions - "A shirt can go all the way down to this line but not beyond that", and so on.
Some systems do use clever vertex paint masks to hide and show specific faces of the skin, but overall the concept remains largely the same. That is to say : clean and tightly controlled geometry with precise connections points, and as few overlaps as possible.