MakeClothes Universal Fit -- How I Got Pretty Close

A place for unofficial tutorials posted by MH users

Moderator: joepal

MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Mon Jan 15, 2018 3:08 pm

Newsflash: It's harder to fit clothes on female humans than on male humans. It's just the way it is because female meshes tend to have more bumps and curves. But I managed to get a nearly universal fit for a Female Suit:

FemSuitExample.png
L-R: Amanda (senior), Corrine (average), Pia (toddler), Grace (child), Ronda (plus), and Erica (tall).


This suit is available in User Contributed Assets here:

http://www.makehumancommunity.org/cloth ... _suit.html

It is CC0, so if anyone can improve upon it, please do.
Last edited by MargaretToigo on Mon Jan 15, 2018 4:24 pm, edited 1 time in total.
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Mon Jan 15, 2018 3:38 pm

Now, the fit is not flawless and and as with anything else in CG, the closer you get, the more any flaws become visible, but this is probably about as good as it gets for now.

Assigning vertex groups correctly is essential, especially for things like shirt/jacket buttons, and brooches. And of course skirts require a little bit of special attention so they don't get squashed into the buttocks and have that pointy thingie at the bottom hem.

Here are the groups I used:

Screen Shot 2018-01-15 at 9.42.04 AM.png
Vertex Groups, note the *rigid groups
Screen Shot 2018-01-15 at 9.42.04 AM.png (12.15 KiB) Viewed 2814 times


To get things started, I selected the upper part of the tights and the skirt to automatically "Create Vertex Groups From Selection:"

Screen Shot 2018-01-15 at 9.41.42 AM.png
Portion of human helpers used for automatic vertex groups -- mid group selected


Screen Shot 2018-01-15 at 9.42.28 AM.png
left vertex group selected, right is the same mirrored
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Mon Jan 15, 2018 3:46 pm

For most simple symmetrical dresses that don't have buttons, brooches, or other such embellishments, the above method is sufficient.

But when there are extra parts that aren't directly attached to the main mesh, using *rigid vertex groups is essential to keep the buttons and brooch round and above the shirt.

Screen Shot 2018-01-15 at 9.42.50 AM.png
*cameo vertex group on helpers


Screen Shot 2018-01-15 at 9.51.15 AM.png
*cameo vertex group on suit
Last edited by MargaretToigo on Mon Jan 15, 2018 4:26 pm, edited 1 time in total.
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Mon Jan 15, 2018 3:59 pm

Now buttons presented an interesting challenge because assigning only the buttons to the *group didn't produce the desired results. The buttons stayed round, but still disappeared into the shirt. So, I tried selecting the buttons plus the placket (the buttonhole thingies on shirts) and assigning them to one *group called "*shirt:"

Screen Shot 2018-01-15 at 9.51.31 AM.png
*shirt group on suit


Screen Shot 2018-01-15 at 9.51.41 AM.png
*shirt group on suit wireframe mode


And selecting three mid point vertices for the *shirt group on the helpers:

Screen Shot 2018-01-15 at 9.43.13 AM.png
*shirt group on helpers


And it worked great on females of various weights, proportions and breast sizes, the buttons mostly kept their round shape and they stayed above the shirt.
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Mon Jan 15, 2018 4:22 pm

The jacket buttons (*jb1 and *jb2 groups) also presented a challenge because one of them is above the waistline between the upper tights and the skirt helpers and the other is right at the break between the upper tights and skirt helpers.

Screen Shot 2018-01-15 at 9.43.33 AM.png
*jb1 group on helpers


The lower button (*jb2) didn't work right when I used three vertices from the skirt helper, so I used three vertices on the tights, including one that is below the skirt.

Screen Shot 2018-01-15 at 9.46.25 AM.png
*jb2 group on helpers


Again, on the jacket, it was not sufficient to just select the buttons and assign them to the *groups, so I added a few vertices on the jacket fabric behind the buttons:

Screen Shot 2018-01-15 at 9.52.17 AM.png
*jb1 and *jb2 groups on jacket
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby wolgade » Tue Jan 16, 2018 10:01 am

Thanks for publishing the results of your research. Especially "*shirt" looks interesting. I guess you had your share of trial and error before you came up with this idea.
wolgade
 
Posts: 790
Joined: Wed Jan 30, 2013 6:50 pm

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Tue Jan 16, 2018 2:15 pm

wolgade wrote:Thanks for publishing the results of your research. Especially "*shirt" looks interesting. I guess you had your share of trial and error before you came up with this idea.


There was quite a bit of trial and error involved in making the shirt buttons stay round and on the shirt. It's interesting to see the results of different vertex group assignments.
Even when the results are a big ol' mess, it's still informative to see where the meshes break and warp on various body types in different poses.

I did all sorts of different vertex group combinations on the buttons and/or parts of the shirt.

All buttons in one *group keeps the buttons round, but they all float above or sink into the shirt in a nice rigid line -- looked pretty bad.

Assigning each individual button to its own *group and then assigning the three closest vertices on the tights helper for each works well on the average-sized female human, and also keeps the buttons round, but the buttons float and/or sink when the human's age, weight, proportions, etc, are changed.

I looked at how the buttons were sinking and floating between the breasts as I made the human heavier or thinner, adjusted the height and proportions, and played with the breast size, firmness and vertical position sliders, and decided that the buttons need parts of the shirt included in their vertex groups in order to stay stuck to and above the shirt.

At this point, I still had seven different *button groups -- one for each button -- on the shirt, and seven three-vertex *button groups on the upper tights. I started out with one shirt vertex for each button and the results were very much the same as using only the buttons.

So, I kept adding more and more shirt vertices behind each button, until I had seven *button groups that included each of the buttons as well as the all the placket vertices behind each one.

When I noticed that each button/placket *group seemed to break into seven separate rigid squares, I thought that maybe I ought to treat the buttons and placket as one thing instead of seven separate things.

Then, I selected all the buttons and the whole placket, assigned all them to one group called *shirt, assigned three mid point vertices to the *shirt group on the tights helper, and ran it through MakeClothes.

I was surprised that it worked so well, and on so many different body types.

The jacket buttons worked better separately because one is above and the other below the waist -- where the tights and skirt helpers meet.

For the brooch, I just selected the whole brooch and then the three vertices behind it, and that worked just fine on most humans.
In some instances, depending on neck size/shape, the very top of the brooch sinks into the shirt collar a little, or floats a little too far away from it.

I tried the same trick as I did with the buttons, selecting a few vertices on the shirt behind them to include in the *cameo group, but that caused the shirt collar to deform in weird ways and parts of the brooch still disappeared into the neck along with the bit of the collar assigned to the *cameo group.

So, sometimes it's a matter of trading off one set of flaws for another and choosing which set of flaws to go with seems to be a matter of which ones are easier to fix in Blender.
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby brkurt » Tue Jan 16, 2018 5:36 pm

Very good work, indeed.

Could you post a scene of these models with their arms raised overhead? I found that this is the most problematic deformation of the mesh, especially if volume is maintained in Blender.
brkurt
 
Posts: 1091
Joined: Sun Feb 17, 2008 8:49 pm

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby wolgade » Wed Jan 17, 2018 1:40 pm

MargaretToigo wrote:Even when the results are a big ol' mess, it's still informative to see where the meshes break and warp on various body types in different poses.

Informative? For sure, but also a big source of frustration. Your tutorial might help minimize this frustration. You didn't just explain what you did to succeed, but also what went wrong and how. This is very valuable information for anyone dealing with problems similar to the ones you had.
MargaretToigo wrote:So, sometimes it's a matter of trading off one set of flaws for another and choosing which set of flaws to go with seems to be a matter of which ones are easier to fix in Blender.

That's also my final conclusion when it comes to Make Clothes. It does a good job in many cases, but it has its limitations. One limitation is that rigid groups aren't as rigid as you might think. Rigid in the sense of MC means that assets may be scaled on each axis individually. As a consequence circular shapes might get distorted to oval. There might be tricks to minimize this, but there's no way to avoid this completely. I learned that when I tried to use an asset I published.
http://www.makehumancommunity.org/clothes/diamond_ring_01.html
The diamond didn't sparkle as it was supposed to be. Make Clothes deformed the gemstone just a little bit. Unfortunately this is enough to ruin a diamond (https://en.wikipedia.org/wiki/Diamond_cutting). Angles and dimensions are critical. MC messed them up. For the diamond ring to work properly I needed a vertex group that provided even scaling on all axes. On the other hand: What's the point in using MC when all you need is even scaling?
wolgade
 
Posts: 790
Joined: Wed Jan 30, 2013 6:50 pm

Re: MakeClothes Universal Fit -- How I Got Pretty Close

Postby MargaretToigo » Wed Jan 17, 2018 6:39 pm

brkurt wrote:Very good work, indeed.

Could you post a scene of these models with their arms raised overhead? I found that this is the most problematic deformation of the mesh, especially if volume is maintained in Blender.


Thank you.

The arms raised over the head thing is a posing/weight painting issue, whereas my goal here was to get an outfit to fit a wide range of body types while the human is in rest pose.

Getting good deformations when the human is posed is outside of the scope of MakeClothes, which has a documented bug in how it assigns vertices around the armpits.
That bug probably also causes MakeHuman to assign the armature weights incorrectly around the armpits -- which likely get further munged when the human is imported into Blender.
This is why the armpit areas of clothes made with MakeClothes don't deform properly "out of the box" when the human's arms are raised above the head.

The point of getting a good fit in rest pose is that when something is distorted in rest, it's just gonna get more so when posed, thereby making weight painting in Blender more challenging than it needs to be.

Once I have a good fit -- which I do with this suit -- I can fine tune the weight painting in Blender so the clothes will deform correctly when the human is posed.
MargaretToigo
 
Posts: 175
Joined: Thu Feb 16, 2017 6:46 pm
Location: Tampa Bay Florida, USA

Next

Return to Tutorials

Who is online

Users browsing this forum: No registered users and 1 guest