Proxy management (topologies, body parts and clothes)

Works in progress and technical screen shots.

Moderator: joepal

Proxy management (topologies, body parts and clothes)

Postby smonbrogg » Wed Jan 29, 2020 9:43 am

Here's some work in progress of my attempt to improve Makehumans proxy managmement code.

I'm starting with delete vertices under faces of body parts as requested earlyer here:
viewtopic.php?f=3&t=18364
It currently works for all proxies.

Image


If there are any other developers working on this part of makehuman let me know!
I'm considering adding a file to generalize all proxychooser.py except 3_library_proxy_chooser.py (responsable for Topologies) since I think there's some difference between the actual human mesh and the additional geometries like hair, clothes, eyes etc..

class inheritance is currently

-ProxyChooserTaskView
--ClothesTaskView
--EyesTaskView
--EyebrowsTaskView
--EyelashesTaskView
--HairTaskView
--ProxyTaskView (This is responsable for choosing different topologies of the human mehs)
--TeethTaskView
--TongueTaskView


I'm considering to change it such that it's like this:

-ProxyChooserTaskView
--ProxyTaskView (Renaming this to TopologyTalskView might make sense..?)
--AdditionsTaskView (A better name for this new class would be very welcome!)
---ClothesTaskView
---EyesTaskView
---EyebrowsTaskView
---EyelashesTaskView
---HairTaskView
---TeethTaskView
---TongueTaskView

Any thoughts?

cheers, simon
Attachments
xRayEyes.gif
User avatar
smonbrogg
 
Posts: 26
Joined: Tue Aug 21, 2018 7:36 pm
Location: Zurich

Re: Proxy management (topologies, body parts and clothes)

Postby joepal » Fri Jan 31, 2020 3:23 pm

Not any particular thought outside general cheering. Making it possible to use delete groups for other meshes is probably a good idea.

I don't think anyone else is tinkering with those parts right now.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 3732
Joined: Wed Jun 04, 2008 11:20 am

Re: Proxy management (topologies, body parts and clothes)

Postby RobBaer » Sat Feb 01, 2020 5:14 pm

smonbrogg wrote:Here's some work in progress of my attempt to improve Makehumans proxy managmement code.

I'm starting with delete vertices under faces of body parts as requested earlyer here:
viewtopic.php?f=3&t=18364


I'm not sure what this image is showing. Are you purposely hiding the colored iris layer that lies below the transparent corneal layer (or vice versa), or are you demonstrating something else for the eyes?
User avatar
RobBaer
 
Posts: 960
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

Re: Proxy management (topologies, body parts and clothes)

Postby smonbrogg » Mon Feb 03, 2020 4:25 pm

RobBaer wrote:I'm not sure what this image is showing.


I'm hiding the eye socket of the human mesh. Nothing magic at all, it's the same feature as 'Hide faces under clothes', just for the eyes and all other additional geometrie.

Trying to finalize this I ran into another problem: 'Hide faces under clothes' doesn't work with Topologies. :shock:
If you select Topologie 'Female muscle 13442' together with 'Female calualsuit01' for example, there are a lot of faces that should be hidden but aren't.
Is this a known issue? I've tried to fix it, but no luck so far.
User avatar
smonbrogg
 
Posts: 26
Joined: Tue Aug 21, 2018 7:36 pm
Location: Zurich

Re: Proxy management (topologies, body parts and clothes)

Postby RobBaer » Thu Feb 06, 2020 8:58 am

Topologies are just another type of proxy, like clothes. If I remember correctly there is a partially implemented numbering system for layering clothes. Not sure if topologies take it into account though.
User avatar
RobBaer
 
Posts: 960
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

Re: Proxy management (topologies, body parts and clothes)

Postby smonbrogg » Sat Feb 08, 2020 3:20 pm

Thanks for the reply!
Yeah, topologie is a type of proxy, that much I understand.


RobBaer wrote:there is a partially implemented numbering system for layering clothes.

This seems to be implemented in getClothesByRenderOrder and getClothesByRenderOrder in 3_libraries_clothes_chooser.py. Each cloth proxy has a z_depth attribute, defining the order in which the clothing is stacked. The code then checks each cloth proxy starting with the outermost and hides faces that are hidden by accumulated preceding clothing. Then, at last, the code hides the faces of the topologie proxy that are hidden by all accumulated clothe proxies.

The main reason I use this feature is to reduce the polygon count of the final mesh being exported.

For the bug with the delete vertices not working correctly for all topologies, I'm not sure where the problem is. It might be the alternative topologie itself, or the way the mapping from the the default topologie to the alternative one is done, or something I'm not yet aware of... :?:
User avatar
smonbrogg
 
Posts: 26
Joined: Tue Aug 21, 2018 7:36 pm
Location: Zurich

Re: Proxy management (topologies, body parts and clothes)

Postby MTKnife » Sun Feb 09, 2020 4:48 am

Have you actually gotten the layering to work properly? I never noticed it to have any real impact, as lower layers of clothes will stick through outer ones, if you haven't used delete faces--or does the chooser only work with delete faces?

Fixing this was something I wanted to work on, but never got up the energy to.
MTKnife
 
Posts: 273
Joined: Tue Sep 01, 2015 5:22 am

Re: Proxy management (topologies, body parts and clothes)

Postby smonbrogg » Sun Feb 09, 2020 8:40 am

MTKnife wrote:Have you actually gotten the layering to work properly? I never noticed it to have any real impact, as lower layers of clothes will stick through outer ones, if you haven't used delete faces--or does the chooser only work with delete faces?

It only works with delete faces. At least that's my current understanding of the code.
User avatar
smonbrogg
 
Posts: 26
Joined: Tue Aug 21, 2018 7:36 pm
Location: Zurich

Re: Proxy management (topologies, body parts and clothes)

Postby MTKnife » Sun Feb 09, 2020 6:28 pm

smonbrogg wrote:It only works with delete faces. At least that's my current understanding of the code.


I think that was the impression I got when I was looking into it, but it seems like it should be possible to do it without delete faces, by displaying whichever object along a given ray has the highest layer.
MTKnife
 
Posts: 273
Joined: Tue Sep 01, 2015 5:22 am

Re: Proxy management (topologies, body parts and clothes)

Postby smonbrogg » Mon Feb 10, 2020 7:43 am

Theoretically, it should be possible to calculate the faces to delete from a lower cloth layer by the higher one, as long as the cloth doesn't have a transparent texture. But this alone probably wouldn't make stacking clothes a good experience. There would still be geometry sticking out between the seams because the clothing probably wouldn't share the same edges...

I think it's best to stay with the current system of assigning 'delete vertices' to a piece of cloth when creating it, and thinking of the 'hide faces under cloth' feature mainly as a way to reduce polygon count.
User avatar
smonbrogg
 
Posts: 26
Joined: Tue Aug 21, 2018 7:36 pm
Location: Zurich

Next

Return to WIP (Work In Progress)

Who is online

Users browsing this forum: No registered users and 2 guests