Baking targets into models

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

Moderator: joepal

Baking targets into models

Postby Ricardo2020 » Wed Sep 29, 2021 6:02 pm

Here is a head scratcher for the community.

I have made a lot of models with MakeHuman 1.1.1 and 1.2.0. Hundreds of them, to be precise. Each of the two MH versions runs on its own machine. In the workings with the software and hardware, I have used many assets to create the models, accumulating almost all the community files. This has brought forth the need to create sub folders so that these assets are easier to find and use.

One of my recent efforts in this regard was classifying my rather huge collection of targets. After placing them into a directory structure which works for me, all the models made using the previous system have lost their shapes, defaulting to base models when loaded.

And so, my question is this. How does one create a model in MakeHuman which retains the shape made by custom targets, even when it is opened on a machine which lacks these targets? In other words, how does one go about baking the shape made by the targets into the model within MakeHuman?

Is it necessary to take the model into Blender and do a set of proxy/topology/object/mesh warps and bone moves to arrive at a model which retains its shape when loaded into MakeHuman? It would be nice if the work flow stayed within MakeHuman, since most folks are going to make their models there.

Many thanks to all who take this to ponder and arrive at a solution.
Paddle faster. I hear charango music!
User avatar
Ricardo2020
 
Posts: 130
Joined: Sat Apr 18, 2020 4:17 pm
Location: Tennessee

Re: Baking targets into models

Postby tomcat » Wed Sep 29, 2021 7:39 pm

Ricardo2020 wrote:How does one create a model in MakeHuman which retains the shape made by custom targets, even when it is opened on a machine which lacks these targets? In other words, how does one go about baking the shape made by the targets into the model within MakeHuman?

These are slightly different issues. Opening it on the machine is one thing, but baking it is somewhat different.

For the first question, in theory, there is a solution. The program creates a list of assets used in the model when saving the file. When you open the file, the list is checked against the installed assets. If there is a match, the file is silently opened. In case of mismatch, options are offered:
  1. open the file with replacement by i). the standard or ii). manually specified assets;
  2. install the missing assets from i). the local place or ii). download them from the website.
Foreigners' reactions to Russian "Bird's Milk" candies
— Are your birds being milked?
— In Russia everyone is milked. Here even the zucchini is used to make caviar.
User avatar
tomcat
 
Posts: 336
Joined: Sun Sep 27, 2015 7:53 pm
Location: Moscow (Orcish Stan), The Aggressive Evil Empire

Re: Baking targets into models

Postby joepal » Thu Sep 30, 2021 11:01 am

Ricardo2020 wrote:And so, my question is this. How does one create a model in MakeHuman which retains the shape made by custom targets, even when it is opened on a machine which lacks these targets? In other words, how does one go about baking the shape made by the targets into the model within MakeHuman?


You can't save a model in such a way that it is openable in MakeHuman if the target files are missing. If you open a model file (a file with extension MHM) you can see that it is simply a list of which targets have been applied and which clothes are equipped.

You can, however, bake all applied targets into one with the "save target" functionality. See the utilities -> save target tab for this. This way, you could distribute the MHM file + one combined target to a target machine and get a model with the same shape.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Baking targets into models

Postby Ricardo2020 » Thu Sep 30, 2021 3:55 pm

In v1.1.1 there is no such tab which I can see in Utilities. Was this implemented in v1.2.0?
Paddle faster. I hear charango music!
User avatar
Ricardo2020
 
Posts: 130
Joined: Sat Apr 18, 2020 4:17 pm
Location: Tennessee

Re: Baking targets into models

Postby tomcat » Thu Sep 30, 2021 10:51 pm

Ricardo2020 wrote:Was this implemented in v1.2.0?
MH 1.2 has this tab.
Foreigners' reactions to Russian "Bird's Milk" candies
— Are your birds being milked?
— In Russia everyone is milked. Here even the zucchini is used to make caviar.
User avatar
tomcat
 
Posts: 336
Joined: Sun Sep 27, 2015 7:53 pm
Location: Moscow (Orcish Stan), The Aggressive Evil Empire

Re: Baking targets into models

Postby Ricardo2020 » Fri Oct 01, 2021 2:26 pm

Many thanks to those who have these answers to share.

Since I can only do this in 1.2.0, I guess it is finally time to retire 1.1.1 and recreate all my models in the newer version so the targets for body shaping can be combined into one for each model.

This has been a hold back for my model publishing since I have had no way to share these models on the Assets pages with the body shape intact. Once I get upgraded and moved over to the newer version, I shall be publishing my models.
Paddle faster. I hear charango music!
User avatar
Ricardo2020
 
Posts: 130
Joined: Sat Apr 18, 2020 4:17 pm
Location: Tennessee

Re: Baking targets into models

Postby Ricardo2020 » Thu Oct 28, 2021 6:19 pm

This thread shall discuss the proper procedure for building a finished complete model which can be used inside your favourite 3D software. Since I am using Linux Mint, Windows or MAC OS users will want to observe any differences with mentioned path references pertinent to their machine and OS.

Credit for the knowledge used within this brief set of instructions goes out to Joepal, Woodcat, Elvaerwyn and Punkduck.

I am planning on building out this tutorial, with images depicting the process, later on when time allows. Until then, I give you these methods which were successful in my own model creation efforts inside Makehuman v1.2.0 running on Linux Mint Cinammon 20.1 Uma.

I learned that file naming is critical to function when it comes to saving targets and applying them to a base for a save to a new model. If the letter case and underscore are not attended to in a manner which MH understands and properly parses, the model will not save the target.

I ran an experiment to this effect to learn the truth of this wisdom. Paying attention to the file name syntax that MH understands is critical. There can be no spaces in the file name. Replace any spaces with underscores. It is also prudent to use all lower case letters when giving the saved target file its name.

And so, here is the process which yielded success for me. I believe it will also work for you.

In a nutshell, it goes like this:

1. Launch MH and turn on division and symmetry buttons on the top toolbar.

2. Build the model from the base without assigning any assets other than the targets needed to create the desired body shape.

3. Go to the save target tab under the utilities tab and save the new target while observing the proper naming syntax for the target.

4. Close MH.

5. Launch MH.

6. Apply the saved target to the base.

7. Save the model with a new name. (I like to use the one I gave the target unless this target is going to get used for more than one model.)

8. Reload the model to check that the target holds, which it should if all is done according to the instructions above.

9. Finish the model by applying geometries, materials, pose and expression, etc..

10. Save the model over itself (replace).

11. Reload the model to check for proper build, which should show all elements saved if the instructions above are followed.

12. In the save dialogue within the left pane of MH under the file and save tabs, create a UUID and fill in the tag entries. For these, I like to do it like this: race (human or non human), gender, skin type (Caucasian, Negro, etc.), age (infant, child, young, middle age, old, etc.), body type (thin, thick, obese, etc.).

13. Save the model one more time with all of the meta data fields filled out and the UUID created.

At this point, the model can be exported for use in another program. I like to save all the options and file types to a folder inside /home/Documents/makehuman/v1py3/exports/model name/*.*. This will contain all the assets needed to work with the model in any given 3d software, including the textures, pose, expression, targets, mesh, and all helpers in place along with binaries for the files which offer them as an option during the export.

Doing all the above ensures that a complete workable model is available for use across any work flow with any 3D application.

I look forward to seeing what the folks in this community are able to create using the method described above. Also, I welcome any discussions on this, including any issues or refinements you discover along the way. I expect to see some resulting renders in the forum gallery.

Many thanks in advance to all who participate and contribute.

Happy modelling!
Paddle faster. I hear charango music!
User avatar
Ricardo2020
 
Posts: 130
Joined: Sat Apr 18, 2020 4:17 pm
Location: Tennessee


Return to General discussions about makehuman

Who is online

Users browsing this forum: No registered users and 1 guest

cron