Page 1 of 2

Editing an existing proxy

PostPosted: Sat Jun 27, 2020 4:28 pm
by Crabble
Hello folks,


I've been a longtime user of both Blender and MH, though I didnt make the transition over to Blender 2.8 until very recently. I understand the process for creating a new proxy and even editing an existing proxy in older versions of Blender, but under the present setup, it seems to be a bit different. I tried bringing in a proxy that already exists by copying the files, changing the proxy file extension over to a .mhclo file and then using the 'import clothes' button in the Makeclothes 2 plugin panel. This seems to work fine at first, however the resulting mesh only has a single vertex group that has the same name as the proxy itself, and when trying to export it, I get an error regarding no matching vertex group names in the reference human in the scene. I managed to get around this by renaming the vertex group to the helper-tights group name, and then testing it really quick in Makehuman by simply seeing how it looks as clothes before moving it over to the proxy folder and renaming the .mhclo file. This results in a mesh which is very messed up, this seems to be restricted to the hands, head, and feet, which may be a result of the tights helper not extending out that far though.

Now, I imagine that my method is lacking in some way, though there is a dearth of information relating to proxy creation/modification, especially with regard to MakeClothes 2, so I'm struggling to find out a solution. Any help provided would be greatly appreciated, thanks.

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 5:07 pm
by jwc
MakeClothes version 1 used left, right, and center vertex groups for the clothing and humans objects.
The human vertex groups were automatically created with a button click.

MakeClothes 2 changed, and is actually more flexible.
Any vertex group name or names can be used (except Delete) for the clothing, and the same names must be applied to a human/helper vertex groups.
One limitation is a clothing vertex can only belong to one group, and the other is Delete groups are for the human mesh.

If there is a distortion of the clothing, this is usually caused by large offsets between the clothing and human vertices.
MakeClothes picks the three nearest vertices from the human (with the same group name)
If there are large offsets, then small change in the human shape will make large distortions in the clothing shape.

Using the helpers will cause distortions at the extremities if the clothing/proxy extends that far, because of the large offset needed.

Summary: I would suggest you use the body mesh instead of the helpers when creating the human vertex group.

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 5:30 pm
by Crabble
jwc wrote:MakeClothes version 1 used left, right, and center vertex groups for the clothing and humans objects.
The human vertex groups were automatically created with a button click.

MakeClothes 2 changed, and is actually more flexible.
Any vertex group name or names can be used (except Delete) for the clothing, and the same names must be applied to a human/helper vertex groups.
One limitation is a clothing vertex can only belong to one group, and the other is Delete groups are for the human mesh.

If there is a distortion of the clothing, this is usually caused by large offsets between the clothing and human vertices.
MakeClothes picks the three nearest vertices from the human (with the same group name)
If there are large offsets, then small change in the human shape will make large distortions in the clothing shape.

Using the helpers will cause distortions at the extremities if the clothing/proxy extends that far, because of the large offset needed.

Summary: I would suggest you use the body mesh instead of the helpers when creating the human vertex group.

Okay, so should I add one or more vertex groups to the proxy mesh that matches the name(s) of comparable vertex group/groups on the human mesh, does that sound right? I dont have blender/MH open in front of me at the moment, so I can't check the specifics, but should I just add vertex groups to the proxy mesh that match all the joint/bone groups from the human mesh(finger,upper leg, etc.) so that it weights the new proxy like the regular human mesh, or is there a specific single group for that kind of purpose? Like tights, or Skirt, but meant for proxy weighting in stead of clothes? Thanks for your help.

Also, on a related note, I've noticed in the past that often when making a modified proxy, that any additional geometry/vertices located near the middle of the mesh that is small in detail (belly button, genitals, face stuff, mouth) will look fine in blender, but when brought into MH it will be a little bit mangled. I'm guessing this is a result of MH getting confused as to which vertex groups the new vertices are supposed to be assigned to and so the armature deformation pulls the new vertices out of position. I'm guessing that using a custom weighting file will allow me to fix this by telling makehuman what bones the new vertices should be getting deformed by, does that sound right?

Thanks for your help.

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 9:01 pm
by Crabble
Alright, so I got into blender and took a look around at the imported human mesh, and noticed a 'body' group. When i created a vertex group on the edited proxy mesh, used the 'body' name and then clicked 'create clothes', I got a traceback error referencing a pair of python scripts related to makeclothes (createclothes.py & core_makeclothes_functionality.py specifically). I used a different group name 'HelperGeometry' and as before it gave me issues with janky geometry on import into makehuman. However, it wasn't quite as janky as before(the head was still shaped like a head, but 'wrinkly' as opposed to looking like it got put into a trash compactor). I am wondering if I should use the 'Left' 'Right' & 'Mid' groups or all of the specific body part groups, but am unsure how to go about assigning the vertices in the proxy mesh to them. Again, any help is appreciated. Thanks.

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 10:18 pm
by Crabble
Okay, so this seems to be related to a previously reported error maybe? I found this thread from last month

http://185.189.51.161/forum/viewtopic.php?f=22&t=18540

however, the bug seems to have been fixed in the most recent download from GitHub, except that in my case I have the most recent download from GitHub and also, the line numbers are different, the original error had the line numbers of 85, 179, & 277 my error involves lines 104, 189, & 327 in stead. I'm not sure if this is a very similar problem, or something else entirely. Should I repost in the blender forum or PM one of the devs?

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 10:20 pm
by loki1950
Just post it here Crabble lets keep this focused.

Enjoy the Choice :)

Re: Editing an existing proxy

PostPosted: Sat Jun 27, 2020 10:26 pm
by jwc
This may be a duplicate for what you know, but suppose you are making a proxy for "Batman".

Simple Method:
(1)
In Blender, select all the vertices in the Batman proxy object and go to the vertex group tab.
Make sure there are no groups defined, and then create a vertex group "Batman" that includes all the proxy vertices.
(2)
Next select the human body mesh you found, and go to the vertex group tab for it.
Create a group "Batman" and add off the human mesh vertices to it.

You now have all the necessary groups defined.

More Complex Method:
Suppose you are having trouble with the fingers being distorted because the thumb is using vertices from the index finger.
You can improve this situation by (after doing the above steps):
(3)
Remove the proxy thumb vertices from "Batman" group and place them in a "BatThumb" vertex group
(4)
Then add a vertex group to the human body mesh that includes the thumb and part of hand, also name it "BatThumb"

Again note that all the proxy vertices must be in one and only one group, and the human mesh vertices can be in multiple groups.

Re: Editing an existing proxy

PostPosted: Sun Jun 28, 2020 2:11 am
by Crabble
So, using jwc's advice, I managed to get a proper vertex group naming scheme working. However, that didn't fix the problem. I did some extra trouble shooting and determined that the problem seems to be specific to the proxy I was using. Specifically the adult_female_2020_v_01 custom topography by bogdan666. I thought that maybe the problem was a result of it using custom weighting, so I deleted the line that told MH to access the external weights file, but the problem persisted. I also decided to see if "cleaning" the mesh by importing it through the makehuman plugin and then exporting the mesh as a .obj and then reimporting the .obj would fix the issue, but that didn't do it either. I don't know what it is about this mesh, but something about it the exporter just doesn't like. I'll keep digging.

Re: Editing an existing proxy

PostPosted: Mon Jun 29, 2020 4:13 am
by MTKnife
jwc wrote:Summary: I would suggest you use the body mesh instead of the helpers when creating the human vertex group.


While I agree that it's best to use only one object, unless your clothes are meant to be skin-tight, usually the helpers work better: they're closer to the positions for whatever clothes you're making, hence tend to cause smaller distortions.

You might find this short guide useful: http://www.makehumancommunity.org/wiki/ ... 7t_work.3F

Re: Editing an existing proxy

PostPosted: Mon Jun 29, 2020 6:28 am
by jwc
MTKnife:
You are correct for the general use of MakeClothes.
For this case, if I understand his question correctly, Crabble was trying to make a proxy for a skin replacement.
I was under the impression that you can't easily do that with the clothing helpers since they are missing hands.

Crabble:
If you are still having problems, posting the error messages and/or a simple object to try as a Blender import could help the experts locate the source of your troubles