Bug #982

Rigid groups cause incorrect fitting if vertices are shared.

Added by a.g. (Forum User) about 3 years ago. Updated over 2 years ago.

Status:FixedStart date:12/21/2015
Priority:NormalDue date:
Assignee:Thomas Larsson% Done:

90%

Category:MakeClothes
Target version:MakeHuman 1.1.0

Description

MakeClothes supports (seemingly undocumented) semi-rigid fitting by using vertex group names that start with '*' and contain exactly 3 vertices on the human side. This works perfectly well if those 3 vertices only belong to that group, but if some of them are shared, clothing vertices can effectively get fitted to the wrong group.

This happens because part of the rigid group implementation is that the code creates a virtual triangular face out of those 3 vertices and uses it to replace the lists of actual faces the vertex is part of. This obviously cannot work correctly if a vertex is shared. The attached patch seems to fix it nicely by storing those virtual faces in a new separate table indexed by vertex group id to avoid any conflicts.

To reproduce the actual problem, try to create two rigid groups that share two of their base vertices - 2 chances out of 3 vertices intended for one of them will get fitted to the other one instead.

makeclothes.patch Magnifier - Proposed fix (2.4 KB) a.g. (Forum User), 12/21/2015 10:16 AM

Associated revisions

1993:710b1eca1530
Added by Thomas Larsson almost 3 years ago

Fix for issue #982 about multiple rigid groups in MakeClothes.
Credit to a.g. for contributing this fix and apologies for not
having committed it before.

1996:29841e243374
Added by Thomas Larsson almost 3 years ago

Fix for issue #982 about multiple rigid groups in MakeClothes.
Credit to a.g. for contributing this fix and apologies for not
having committed it before.

2d4e1f8c
Added by Thomas Larsson almost 3 years ago

Fix for issue #982 about multiple rigid groups in MakeClothes.
Credit to a.g. for contributing this fix and apologies for not
having committed it before.

bda56857
Added by Thomas Larsson almost 3 years ago

Fix for issue #982 about multiple rigid groups in MakeClothes.
Credit to a.g. for contributing this fix and apologies for not
having committed it before.

History

#1 Updated by a.g. (Forum User) almost 3 years ago

Any comment on this patch?

#2 Updated by Thomas Larsson almost 3 years ago

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

Applied in changeset commit:makehuman_hg|710b1eca1530.

#3 Updated by Thomas Larsson almost 3 years ago

Apologies for not having handled this before. The patch is now committed. Please check that things work properly know.

#4 Updated by Thomas Larsson almost 3 years ago

Applied in changeset commit:makehuman_hg|29841e243374.

#5 Updated by a.g. (Forum User) almost 3 years ago

It seems the patch was applied correctly and works as intended.

#6 Updated by Aranuvir # over 2 years ago

  • Status changed from Fix exists, needs testing to Fixed
  • Target version set to MakeHuman 1.1.0

Seems to be fixed.

Also available in: Atom