Makehuman sliders

If your topic doesn't fit anywhere else, put it here.

Moderator: joepal

Makehuman sliders

Postby Ceath » Mon Sep 25, 2017 6:30 pm

Hello,

I was wondering... Sliders do work with values from 0 to 1 (or -1 to 1) but what's the math behind it? What is the reference used behind every modelling measurements ? For example, say I play around with the Torso Scale Vertically slider, which should be around 0.5 (or 0) normally. What is the reference on the maths behind the scale? It has to be like... some kind of scalar value and something else that adds up to it. Like 150 +- something_something, where 150 would be the basic value I'm looking for. Where can I find those?

Thanks!
Ceath
 
Posts: 3
Joined: Thu Sep 14, 2017 1:07 pm

Re: Makehuman sliders

Postby joepal » Tue Sep 26, 2017 11:05 am

The scale is from morph applied 0% to morph applied 100%.

A morph (in makehuman lingo "target") is the shift of vertex positions in 3d space between one base state and a target state.

So in the torso scale vertical case, you can imagine a vertex point being at XYZ position 0, 0, 0 when the slider is at 0, and 0, 0, 5 (or something, numbers picked randomly for the sake of discussion) when slider is at position 1. So when the slider is at 0.5, the position is 0, 0, 2.5.

The vertex point positions in a target have only an accidental relation to real world measurements (such as "waist circumference"). At design time a target is only the shift between one base model and one modified base model.

See also http://www.makehumancommunity.org/wiki/ ... MakeTarget
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Makehuman sliders

Postby Ceath » Tue Sep 26, 2017 1:53 pm

Thanks for the answer.

Is there any way to find that base state and a target state and their values for each parameters?
Ceath
 
Posts: 3
Joined: Thu Sep 14, 2017 1:07 pm

Re: Makehuman sliders

Postby joepal » Tue Sep 26, 2017 2:46 pm

The base state ("base mesh") is the base.obj file here: https://bitbucket.org/MakeHuman/makehum ... at=default

Each target is a single text descriptor with how far each vertex point should move when the target is applied 100%. See for example https://bitbucket.org/MakeHuman/makehum ... ew-default which is for increasing the vertical size of the torso. Each line is vertex number in base.obj, and x y z shift.

Note that usually you will have a set of targets applied at the same time, making it necessary to add the targets together to see exactly where a vertex point is or should be.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Makehuman sliders

Postby blindsaypatten » Tue Sep 26, 2017 2:48 pm

Ceath wrote:Thanks for the answer.

Is there any way to find that base state and a target state and their values for each parameters?


I think your attempt at abstraction is actually complicating things. There is a base mesh, i.e. a set of vertices (with 3D positions) with connecting edges and faces. Someone then uses a program like Blender to move the vertices around to produce a modified mesh, for example with longer limbs. MakeTarget just records the difference in position of each vertex. When the slider is at zero the mesh is unchanged, when it is at one all of the vertices have been moved by the same amount as they were moved in changing the base mesh to the modified mesh, with intermediate values of the slider moving the vertices a fraction of that offset.

You can look at the initial base mesh in MakeTarget.

To complicate things slightly, there are six models for the six permutations of sex and race. The initial state when you start MakeHuman applies the targets (offsets) for each of these equally, and the gender slider sets the ratio of the three female targets to the three male targets, while the race targets determine the ratio that the African, Asian, and Caucasian race targets are applied, with the sum of the three always adding up to 1. Thus, what you see is always some mix of the six race targets, there is no way to get to the base mesh using the built-in targets, although there are user-produced targets that will set a particular configuration of the mesh, such as the startup mesh, back to the base mesh.

So everything just comes down to moving vertices along the offset between two meshes, there are no parametric equations describing long limbs or waist size. To produce a new target you have to, by whatever means, produce a new mesh. For the most part this is done manually in an ad hoc fashion. You can of course do things like scaling the model to produce a transformation that can be more easily described, but in the end the system isn't aware of the means by which the modified mesh is produced.

P.S. The original base mesh is somewhat arbitrary, the six gender/race meshes are the real base point, you could use anything for the base mesh and then produce targets for the six meshes relative to that.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Makehuman sliders

Postby wolgade » Wed Sep 27, 2017 11:12 pm

I'm really glad that I was tought some vector math back in school. Targets (MH), shapekeys (Blender) or morphs, three different names for essentially the same thing. A quite simple thing when you take a look under the hood. A target file contains translation vectors for vertices affected by this target. Vectors can be multiplied by scalar values. The slider sets this value for all translation vectors described in the target file.
wolgade
 
Posts: 795
Joined: Wed Jan 30, 2013 6:50 pm

Re: Makehuman sliders

Postby loki1950 » Thu Sep 28, 2017 2:10 am

What happens when you do a dot product :ugeek: :lol:

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo Ideapad 320-15ABR Win 10/Mint 19
User avatar
loki1950
 
Posts: 1219
Joined: Thu Dec 18, 2014 6:27 pm
Location: Ottawa,Ontario

Re: Makehuman sliders

Postby RobBaer » Sun Oct 01, 2017 11:25 pm

loki1950 wrote:What happens when you do a dot product :ugeek: :lol:

Enjoy the Choice :)

OT - you get a scalar projection, but dot products are between 2 vectors and not relevant here. :ugeek:
User avatar
RobBaer
 
Posts: 1208
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA


Return to General discussions about makehuman

Who is online

Users browsing this forum: No registered users and 1 guest

cron