CREATING TEXTURES
How to make Universal Human compatible texture maps
Face
Image Textures
The following are guidelines for creating textures that work with the Skin Shader.
Albedo
For compatibility with the Skin Shader's Albedo and Base sliders, create a transparent Albedo image with transparency that allows the Base colour to show through. In an image editing app you can do this by creating a layer on top of a flat colour, onto which the shading and details are painted. When finished, hide or delete the base layer and save the Albedo as a .png with alpha channel.
Subsurface
This image controls the depth of the subsurface scattering (i.e. skin translucency), and should be greyscale, with the shallowest areas being white, and the deepest black. The Skin node will remap the values to appropriate skin values. The Image Texture node's Color Space should be set to Non-Color.
Roughness
This image should be greyscale, with the most reflective areas being white, and the most matte being black. The Image Texture node's Color Space should be set to Non-Color.
Displacement and Wrinkles
These images should be greyscale, with raised areas being lighter than 50% grey, and recessed areas being darker. The amount of displacement can be adjusted via the Skin node's Displacement property. The Image Texture nodes' Color Space should be set to Non-Color.
Sculpting and Baking Wrinkle Maps
These steps outline the process for sculpting and baking wrinkles compatible with the Wrinkle node that's included with the Face Rig and Body & Face Rig. Most of this process also applies when making a height map to replace the "Sculpt" layer of the Displacement Image, or transferring a scan or another sculpted mesh to the Base Mesh in the form of a displacement map.
Sculpting
If using the Body & Face Rig, you may want to delete the body to allocate more geometry to sculpting. To do that, enter Edit mode, go to the Material Properties, select the Body material and click on the "Select" button to highlight only the Body vertices, then delete them. Exit Edit mode.
Select all the face controls, and in the Pose Library select Wrinkles A and apply the pose (depending on which Blender version you're using, you may need to click the "Convert Old Style Pose Library" button first)
Select the Body object and remove the Subsurf modifier, add a Multires modifier, then add some subdivisions (5 is about the limit for just the head on a system with 8GB of RAM).
Enter Sculpt mode and sculpt wrinkles suitable for the expression.
When you're done, return to Object mode.
Go to Object Data Properties, and in the Shape Keys Specials Menu select Delete All Shape Keys.
Apply the Multires (in the dropdown menu in the modifier header).
Save as a new .blend file.
Baking
The following steps apply to Blender 2.79, since it currently does a better job of baking than subsequent Blender versions.
Make sure the Blender Render engine is enabled
Load the Face Rig or Body & Face Rig file
Increase the Render Subsurf subdivisions to match the number you set in the Multires modifier. To conserve memory, you may want to disable Subsurf from the viewport and delete the body geometry of the base mesh if only the head is sculpted, especially with a high detail sculpt.
Append the new sculpted Body object.
Select the sculpted object and shift-select the original object.
In the Object Data Properties, under UV Maps select UVMap Face
Enter Edit mode and select all, then in the UV Editor create a new image, enter a resolution, disable Alpha and enable 32 Bit Float.
Click OK and exit Edit mode
In the Render Properties under Bake, set Bake Mode to Displacement.
Check Normalized and Selected to Active, and set Bias to 0. Set Distance to around 0.002
Click Bake and wait until you see the results in the UV Editor.
Adjust the Distance setting and bake again, until it's as low as possible without clipping the whitest or blackest areas.
When you're satisfied, save the image as an OpenEXR with Float (Half) Color Depth.
Repeat all of the above for the Wrinkles B pose.
Correcting the Midlevel
The midlevel for displacements baked from Blender 2.79 is lighter than 50% grey, which is not ideal for editing after the fact (nor for using with the Wrinkles or Skin Shader). To set a 50% grey midlevel you'll need to adjust the image levels, otherwise the mesh will be displaced incorrectly once connected to the Wrinkles/Skin node. Here's how to set the midlevel in Krita; the process will differ in other image editing apps, but this should help as a general guide.
Load the images into Krita
Open the Levels filter (Filter > Adjust > Levels)
Set the middle Input Level to 0.435 and click OK.
Now you can apply any touch-ups, paint extra detail etc. Tip: Enable the Horizontal Mirror tool to paint in symmetry.
Save as .png files when you're finished, and then load them into Image Texture nodes connected to the applicable Displacement sockets and set the Image Texture nodes' Color Space to Non-Color.
Eye
Image Textures
The following are guidelines for creating textures that work with the Eye Shader.
Iris
For textures that take full advantage of the Iris group node, you'll need to create the following:
An image of white fibres on a transparent background, saved as an 8 bit .png with alpha channel. The transparency will allow the Base colour to show through.
A height map, saved as a 16 bit .png (see Sculpting and Baking Diplacement Maps below).
A greyscale Melanin map, saved as an 8 bit .png. The shader will convert this image to a colour gradient, with dark areas being brown melanin, lighter shades being orange through yellow, and white being transparent (allowing the Fibres and Base colour to show through). Completely black areas will be stepped down to a dark brown, for delineating freckles.
If you're just using an iris photo, connect it to the Fibres Image and Displacement Image sockets and set Fibres Mix to 1.0 and Limbal Ring, Melanin and Grain to 0. The amount of displacement can be adjusted with the Displacement slider.
Eyeball
For textures that take full advantage of the Eyeball group node, you'll need to create the following:
A sclera albedo map, saved as an 8 bit .png
A sclera height map, saved as an 8 bit .png.
Teeth & Tongue
Image Textures
The following are guidelines for creating textures that work with the Teeth & Tongue Shader.
Albedo
The Teeth Shader makes use of the tonal values of the Albedo map to separate the gums from the teeth, so they can be independently coloured via the shader node settings. This should work automatically provided the teeth are lighter than the gums, however you may need to fine tune the RGB Curves node inside the group node.
The tongue Albedo map doesn't require any special considerations to work with the Tongue node.
Displacement
This image should be greyscale, with raised areas being lighter than 50% grey, and recessed areas being darker. The amount of displacement can be adjusted via the Teeth & Tongue node's Displacement property. The Image Texture nodes' Color Space should be set to Non-Color.
See the section below for guidelines on sculpting and baking displacement maps.
Sculpting and Baking Displacement Maps
These steps outline the process for creating a displacement map .
Sculpting
To allocate more geometry to sculpting, delete polygons that are not required as part of the displacement map.
Remove the Subsurf modifier, add a Multires modifier, then add some subdivisions.
Enter Sculpt mode and sculpt.
When you're done, return to Object mode.
Go to Object Data Properties, and in the Shape Keys Specials Menu select Delete All Shape Keys.
Apply the Multires (in the dropdown menu in the modifier header).
Save as a new .blend file.
Baking
The following steps apply to Blender 2.79, since it currently does a better job of baking than subsequent Blender versions.
Make sure the Blender Render engine is enabled
Load the original base mesh file
Increase the Render Subsurf subdivisions to match the number you set in the Multires modifier when sculpting. To conserve memory, you may want to disable Subsurf from the viewport and delete any geometry that is outside the sculpted area.
Append the new sculpted object.
Select the sculpted object and shift-select the original object.
In the Object Data Properties, under UV Maps select the applicable UV map.
Enter Edit mode and select all, then in the UV Editor create a new image, enter a resolution, disable Alpha and enable 32 Bit Float.
Click OK and exit Edit mode
In the Render Properties under Bake, set Bake Mode to Displacement.
Check Normalized and Selected to Active, and set Bias to 0. Set Distance to around 0.002
Click Bake and wait until you see the results in the UV Editor.
Adjust the Distance setting and bake again, until it's as low as possible without clipping the whitest or blackest areas.
When you're satisfied, save the image as an OpenEXR with Float (Half) Color Depth.
Correcting the Midlevel
The midlevel for displacements baked from Blender 2.79 is lighter than 50% grey, which is not ideal for editing after the fact (nor for using with the Universal Human shaders). To set a 50% grey midlevel you'll need to adjust the image levels, otherwise the mesh will be displaced incorrectly once connected to the shader node. Here's how to set the midlevel in Krita; the process will differ in other image editing apps, but this should help as a general guide.
Load the images into Krita
Open the Levels filter (Filter > Adjust > Levels)
Set the middle Input Level to 0.435 and click OK.
Now you can apply any touch-ups, paint extra detail etc. Tip: Enable the Horizontal Mirror tool to paint in symmetry.
Save as a .png file when you're finished, and then load it into the displacement Image Texture node and set the Color Space to Non-Color.