Feature #972

MakeClothes should calculate pole-count

Added by Jonas Hauquier about 3 years ago. Updated over 1 year ago.

Status:Fix exists, needs testingStart date:11/10/2015
Priority:NormalDue date:
Assignee:Joel Palmius% Done:

90%

Category:MakeClothes
Target version:MakeHuman 1.1.2

Description

MakeHuman assumes a default pole count (maximum number of edges per vertex) of 8 edges, which is valid for the basemesh and is a sane default.
This is done for performance reasons, but it will make subdivision fail when a mesh with more poles is loaded.
Increasing this number can be done on a per-mesh basis, and should be specified in the proxy file as such:

max_pole 9

In this case 9 would be set as maximum number of edges per vertex.

Lowering this value has a positive influence on performance and RAM usage, making it higher reduces performance.
Therefore there is a benefit to be had to setting this to the minimum possible value.

While it would be possible to verify this value when loading a mesh file, it would (or could) reduce mesh loading performance, thus it would be better to do this in a pre-process in the creation software.

It would be good if MakeClothes could calculate this value and store it in the proxy file.


Related issues

Related to MakeHuman - Bug #969: Some clothing fail to load when subdivison activated. Rejected 11/05/2015
Related to MakeHuman - Bug #1064: Makeclothes wrong max_pole New 10/11/2016

Associated revisions

1968:c848d75c4601
Added by ThomasMakeHuman about 3 years ago

Feature #972. MakeClothes stores max_pole value

d5548921
Added by ThomasMakeHuman about 3 years ago

Feature #972. MakeClothes stores max_pole value

History

#1 Updated by Jonas Hauquier about 3 years ago

  • Related to Bug #969: Some clothing fail to load when subdivison activated. added

#2 Updated by Aranuvir # about 3 years ago

Or leave it as is, for good reasons (as mentioned above) and just catch the error, block/disable subdivision and show a message box to the user.

#3 Updated by Thomas Larsson about 3 years ago

Technically, this should be straightforward to implement. The only reason why MakeClothes does not check for polecount already is that I didn't really know about this limitation.

That said, I think that it is a bit unfortunate to impose restrictions on clothes meshes just because of limitations in the MH machine. E.g., when MH went 100% python, all non-quad meshes were scrapped, including the Rorkimaru proxy which seems to me to be the best low-poly proxy made to date. In my opinion, the main value of MH is as an asset creator, and the limitations should be imposed by the target app rather than the creator app.

#4 Updated by Thomas Larsson about 3 years ago

  • Status changed from Accepted to Fix exists, needs testing

#5 Updated by Aranuvir # over 2 years ago

  • Status changed from Fix exists, needs testing to Fixed

No further reports about it, closing.

#6 Updated by Aranuvir # over 1 year ago

  • Related to Bug #1064: Makeclothes wrong max_pole added

#7 Updated by Aranuvir # over 1 year ago

  • Status changed from Fixed to In Progress
  • Assignee changed from Thomas Larsson to Joel Palmius
  • Target version set to MakeHuman 1.1.2

Reopening this bug. Though MC calculates max_pole and writes it to the file, it still has a built-in limit of 8 poles. In makeclothes.py lines 1154-1158 need to be deleted, or should be altered, so it just warns if pole count tends to get insane...

#8 Updated by Aranuvir # over 1 year ago

  • Status changed from In Progress to Fix exists, needs testing
  • % Done changed from 0 to 90

There is a potential solution on the P3 branch, now.

Also available in: Atom