Bug #440

Material chooser: changing material when wireframe is enabled disables wireframe

Added by Jonas Hauquier over 4 years ago. Updated about 2 years ago.

Status:Fix exists, needs testingStart date:06/19/2014
Priority:NormalDue date:
Assignee:Jonas Hauquier% Done:

90%

Category:-
Target version:MakeHuman 1.1.2

Description

Enable wireframe, then select any material from material chooser.

screenshot_1_1484509376.png (272 KB) Rob Baer, 01/15/2017 08:45 PM

1312

History

#1 Updated by Aranuvir # over 2 years ago

  • Target version set to MakeHuman 1.1.1

#2 Updated by Aranuvir # about 2 years ago

  • Status changed from Accepted to Fix exists, needs testing
  • % Done changed from 0 to 100

#3 Updated by Joel Palmius about 2 years ago

This also looks sane. But I'd prefer a pull request against stable here too.

#4 Updated by Joel Palmius about 2 years ago

Diff from pull request (I'll test and merge this):

diff -r 4161ca079076 makehuman/plugins/3_libraries_material_chooser.py
--- a/makehuman/plugins/3_libraries_material_chooser.py Wed Jan 11 11:10:06 2017 +0100
+++ b/makehuman/plugins/3_libraries_material_chooser.py Fri Jan 13 13:24:41 2017 +0100
@@ -90,6 +90,8 @@
             obj = self.humanObjSelector.getSelectedObject()
             if obj:
                 gui3d.app.do(MaterialAction(obj, mat))
+            human.setSolid(not gui3d.app.actions.wireframe.isChecked())
+

         self.humanObjSelector = self.addLeftWidget(HumanObjectSelector(self.human))
         @self.humanObjSelector.mhEvent

#5 Updated by Rob Baer about 2 years ago

  • % Done changed from 100 to 90

Tested win 10 v1.1.0 stable r2106 (c78914466edf)

Having trouble interpreting expected behavior here.
1. are we talking "any material" or "skin material
2. Am I reading that wire frame SHOULD be disabled?

Test findings:
1. Adding material to eyes makes eye material appear; all else remains wireframe
2. Add material to clothes, clothes material appears; human remains wireframe
3. Add skin to human, human material appears; clothes and eyes remain wireframe
4. If at any point you uncheck wireframe button, materials on all assets are properly displayed

This behavior all seems quite sensible. The one inconsistency is that if you manually add a material to the last asset in wireframe it does not "unset the wireframe button". Still, it is easy enough to manually toggle wireframe off and back on to restart with complete wireframe mode. Automatically toggling the button off seems a fine point.

Side note - did not test materials for geoms like eyelashes, eyebrows, teeth, tongue.

Do we have the behavior we want? If so its fixed.

#6 Updated by Joel Palmius about 2 years ago

To clarify: did you test with or without this patch applied?

#7 Updated by Aranuvir # about 2 years ago

It seems Rob describes the old behavior. From his point of view he could be right and the behavior before the patch could be desired. In this case we could even discuss, having a toggle button to set the wire-frame mode per selected object. The question is,does anyone need this option? All in all I wouldn't call this issue a bug, rather than a certain behavior that could be desired or not.
So, three options to choose:

  1. leave it as is (before my patch)
  2. strict mode (wire-frame mode, means wire-frame mode even when other textures are selected)
  3. toggle button for wire-frame mode per asset.

#8 Updated by Jonas Hauquier about 2 years ago

A less intrusive fix (instead of setting all of the humans wireframe properties) is perhaps:

mat.setWireframe(gui3d.app.actions.wireframe.isChecked())

#9 Updated by Jonas Hauquier about 2 years ago

Joel Palmius wrote:

This also looks sane. But I'd prefer a pull request against stable here too.

Tricky, because could have undesired side-effects. Might need a bit more maturation time. (if this was all that simple I'd probably already have fixed it long ago, instead of just reporting it)

#10 Updated by Rob Baer about 2 years ago

Current behavior (r2106) allows views like below. Could this be useful for proxy/topology/clothes evaluation?

Tested win 10 v1.1.0 stable r2106 (c78914466edf). Not sure of patch status in this release

I guess it needs to "mature" we leave the issue open for at least one more release. Setting to 1.1.2

Also available in: Atom