How to make a skin

General Outline

By contributing textures to Make Human, you are sharing your art with an ever expanding community of professional artists, software developers, academics and joining people from all around the world that are helping to support and encourage further development of the Make Human project. We sincerely appreciate your texture contributions and, in your interest, we have provided you with various licensing options for redistribution of your textures.
Please read carefully through the submission guidelines before submitting a texture.

Basics

As textures need to comply with various standards to be included on the Make Human site, this page serves as a guide to outline this criteria.

There are several basic requirements that all textures submitted to Make Human must comply with,

  • Textures must have an image aspect ratio and a pixel aspect ratio of 1:1, that is to say that the texture's width must match the texture's height and the image is to be composed of square shaped pixels (non-rectangular shaped pixels). A recommended size for textures is 2048 by 2048.
  • An image file format that supports alpha transparency and is lossless is also required. A recommendation for this format would be the PNG file format and not the TIF file format.

Image Size

Methodologies

If you are uncertain about how to make your own textures or modify existing textures, following is a recommendation on how to achieve these goals.

Requirements

In order to complete these tasks you will need additional 3rd party software :

  • An image manipulation package. The GIMP or Photoshop are good examples of image manipulation software.
  • Advanced 3D software. Blender and Maya are amongst some of the examples of sophisticated 3D packages.
  • A working installation of Make Human.

Apps



Please note that although Blender and the GIMP are used in this guide, there are many other alternate applications that can be used to create textures or modifying textures for Make Human. Blender and the GIMP have been chosen for the following examples as they are free software (in the same way that Make Human is also free) and easily obtainable. The software you use may differ in it's methodology to achieve the same goal outlined below, however the fundamental outcome of each completed task does not differentiate. As a result even if you are an experienced user, it might be worth your while to read through the following documentation so that you can produce the highest quality texture possible before making a submission.

Creating a New Texture

Overview

The Process for creating new textures generally involves three main tasks
1) Load the Make Human Base Mesh or custom Make Human model in a 3D application in order to bake a texture map.
2) Open the texture map in a 2D image manipulation or Paint program and create the texture using the baked map as a template.
3) Remap the newly created texture to the Base Mesh or custom Make Human model in a 3D application and check for texture artifacts.

Once these tasks have been completed your texture is ready to upload to the Make Human site.
 

1. Loading the Make Human Base Mesh

Locate the Make Human Base Mesh and open it in your 3D application.
The Make Human Base Mesh is installed by default on your system with each Make Human installation, you will need to determine where the model is located on your hard drive. Typically this can be found in a path such as:

/makehuman/data/3dobjs/base.obj

The Make Human Base Mesh is an .obj file so as to ensure maximum compatibility when transferring this file between various 3D applications. As a result most 3D applications will require that the model is imported into a scene and cannot simply be opened natively within most 3D applications. When importing content into a 3D scene it is necessary to take the import settings into  consideration, for that particular file. In the case of importing Make Human .obj files into a 3D scene,  objects must be imported as a single mesh and no modifications to the vertex order can be allowed. In Blender this can be achieved by clicking the "Keep Vert Order" button in the Import OBJ settings panel of the File Import View.
You can import an OBJ into Blender by clicking:

file > import > obj

Then choosing the appropriate Import OBJ options.

Keep Vertex Order

In addition the base.obj can also be loaded into Blender using the MakeTarget addon, further instructions can be found here.

When the Make Human Base Mesh is imported into the 3D scene you should see a figure as in the image below.
The Make Human Base Mesh is a single object called "Mesh", with a component node called "base" consisting of vertices, faces, edges and UV data. This object has several different materials assigned to various sets of components.
If the hierarchy of your imported model matches that which is depicted in the image below, then you've successfully imported the Make Human Base Mesh and are ready to start baking a texture.

Base Mesh

The process of baking a texture from a custom Make Human model is the same as that of baking a texture from the Make Human base model. You do not need to bake a texture from both model types, choose to bake a texture from either the Make Human base model or a custom Make Human model in the MHX file format.
To import a custom Make Human model in the MHX file format into Blender you first need to load the Make Human import addon. You can load the addon in Blender (if it is not already loaded) by opening the User Preferences dialog box, which can be found under,

File > User Preferences
 

  • Then click the Addon Tab
  • Choose the Import-Export subcategory
  • And tick the MakeHuman (.mhx) option

You can then close the dialog box. The next time you import a file the Make Human import option should be available to you.

MHX Addon

Baking a Texture

The textures we are creating are 2 dimensional and are intended to wrap around the 3 dimensional models we create in Make Human. These textures cover the surface of the default grey models and provide them with color, depth, vibrancy and as a result the particular type of texture we are creating is often referred to as a "skin".
Determining how a texture is to wrap around a model is part of a process known as UV unwrapping, if you would like to learn more about UV's take a look at this document.
Fortunately, the Make Human Base Model and Custom Make Human models derived from the base model already have UV's layed out so we are simply going to use the current UV layout to create a template texture file that will be used in an image manipulation program to create the actual texture.
 

To Bake a Texture from a UV Layout

  • In Blender with your model selected hit TAB on your keyboard to enter Edit Mode.
  • Open a UV/Image Editor View. If you are unfamiliar with Blender's interface you might need to read this documentation first.

UV/Image Editor

In the image above the highlighted view on the top, right shows the UV's for the selected Make Human Base Model. It's worth noting that this is not a regular image made up of pixel data that is being depicted in this Blender view-pane, so in order to get a representation of the current UV layout into an image manipulation program we have to first convert this UV data into a raster format. The process of converting the UV data into a pixel-based image is what we often refer to as "baking UV's"
 

  • In Blender's UV/Image Editor click,

            UV's > Export UV Layout

  • In the "Export UV Layout" options change the size to be 2048 by 2048 and save the file to an appropriate location that you will remember. This will provide an adequate image size that meets Make Human standards for uploading textures.

Baked UV's

  • Open your image manipulation program and load the UV layout file you just created.

The purpose of creating the UV layout image is to provide you with a template on which to paint and create your skin texture.
You can also load the default Make Human texture as a guide to get a better indication of what parts of the model you are painting on.
The default texture can usually be located from a standard Make Human installation at /makehuman/data/textures/texture.png
Copying photographic content into a texture and blending it in, can be used to create high quality details such as wrinkles or even tattoos.
Try to avoid having your texture's color reach the bounds of the template created from the UV layout image as this will result in seaming. This may at times be unavoidable and as a result you will need to use your 3D applications 3D paint and clone tools to remove these seams.
Finally it's worth noting that you should not modify the UV template in your image manipulation program as these changes will not reflect in the 3D model's UV layout.

External Image Editor

Once you are ready to view your new texture applied to a Make Human model you will need to export the texture as a PNG. Exporting the texture to a PNG from an image manipulation program will not retain layer data so take care to save a working version of your file in a format that is native to your image manipulation program, in the GIMP this would be an XCF file..
Before exporting a PNG from your image manipulation program be sure to hide the UV image Layout layer or it will be included in your final texture and be visibly wrapped around your 3D model.
Export a PNG file from your working file to a location that is easy to remember.
You will now need to view the texture you have been working on in your 3D application on a Make Human model, but first the 3D model needs to be prepared so that the texture is can be fully visible. As you would probably have noticed the base model's clothes are getting in the way of seeing the models skin texture. Since we are only concerned with creating a texture and not the 3D model itself which is only going to be used as a means of referencing what the texture looks like when applied to a model, we can safely delete the geometry that makes up the clothes and joints. If you wish to learn about working with clothes in Make Human please visit this page.
 

To remove the clothes and joint geometry from the base model in Blender

  • Select the model and hit TAB on your keyboard to enter Edit mode.
  • In Edit Mode navigate to the Material Panel in the Properties View.
  • Confirm that nothing is selected on your model, you can do this by hovering your mouse over your 3D view and hitting "a" on your keyboard several times until everything is deselected.
  • In the Materiel Panel locate the Material called "joint" and click to select it.
  • Directly below the Material list is a set of buttons including "Assign", "Select" and "Deselect", click the "Select" button.
  • In your 3D view you should now see the clothes and joint geometry selected. Hover the cursor in the 3D view and hit "x" or "delete" on your keyboard to delete the selected geometry.

Delete Clothing

Apply the new texture to the model

Applying the texture to the model is quite simple in Blender,
With the model selected,

  • Navigate to the Materials Panel in the Properties View and click the Material named "skin".
  • Then go to the Textures Panel also in the Properties View and click the "New" button (also known as "Add New Texture" button).
  • For Type choose "Image or Movie".
  • Scroll down to the Image section and click "Open" (also known as "Open Image").

Assign a Texture

To make the texture visible in the 3D viewport

Now when you render the scene the new texture will appear on the model. However, since we are still editing the texture it would be far more useful to be able to see it in the 3D viewport.
To accomplish this

  • Select the model and hit TAB to enter Edit mode.
  • Select the all of the model's vertices and open a UV/Image Editor View
  • Click the "Browse Image to be Linked" drop down list and choose the image you just added to your scene.
  • Finally in your 3D view set Viewport Shading to "Texture".

Viewport display

Now you can easily jump between your image manipulation program edit the texture and see the results in Blender. By modifying the texture then re-exporting it over the original PNG it can be updated in Blender's 3D viewport.
You can do this by navigating to the Texture panel in the Properties View and clicking the "Reload" button next to the name and location of the texture in the Image section. The texture should be reloaded each time it is re-exported from your image manipulation program.

2D to 3D

 

In order to contribute a skin you only need the actual texture file (in PNG format). If you wish you can also upload a rendered image on how a toon looks with your skin. The maximum size of the render is 1280x1024 and it should be in PNG format. 

Here is Thomas's article about clothes, it contains some related info

Click here to upload a skin.

Comments

This is outdated. We should

Manuel Bastioni's picture

This is outdated. We should write the new documentation in the "Contributors manual" and use it instead this page. I'm already working on the general structure.