Making Of 'Future Worker (low-poly)'
In this tutorial I'll explain the creation process of "Future Worker", a low polygon head of a character. For creating it I've mainly used 3dStudio Max, Zbrush and Photoshop; all combined with the help of two Total Texture CD's: v4 Humans & Creatures and v7 sci-fi.
We have several workflows to choos efrom for creating a normal-mapped character.
Some people create the high-poly mesh, from that they create the low-poly mesh and afterwards they create the color map and get the normal and specular maps from the high-poly. Others create the low-poly mesh, from there they create the high-poly and then the maps...
Since I'm playing with total textures and I wanted to use pre-made textures what I've done is a mixture of both processes. I've created the low-poly with 3dsMax, and a color map (not the final one but close) using total textures, after that I have exported it into Zbrush and have created the high-poly (using my color map applied to the model as a base for depth and details). Afterwards I have created the normal and specular maps and some bakes that will be used for the final color map
Modelling and Unwrapping the scene
You're supposed to have the concept of the character/object you're going to model drawn somewhere, so keep it near you to take a look at it as often as you need.
Model the character optimizing the mesh and adding triangles only when needed, but remember a good low-poly model doesn't seem low-poly so give it enough detail to avoid square corners where smoothed surfaces should be.
As you can see in the image, while working with the mesh I applied a texture to the eyes because it gives me a major sense of how the character would look like. It's more alive.
3. Applying UV and unwrapping
Once you're happy with the modeling it's time to apply mapping coordinates for creating a proper unwrap and creating the texture over that unwrap.
3.1. Delete what will be texture mirrored
The smaller the final texture will be with visible details, the better will it be done so try to simplify the geometry into the final texture.
3.2. Assign id's to the mesh (it can be done now or while you unwrap) Select the faces which will be mapped and textured together and assign them an id.
3.3. Create a material with checker and several tiles and apply it to the model. It will help you to find out which parts of the texture will have distortion.
3.4. Unwrapping loop process
- Inside Edit Poly, select an id.
- Unwrap directly (unwrap tools recommended: http://www.microcan.nl ) or uv map and unwrap it. In both cases you will probably have to touch up breaking and welding vertex in the unwrap max editor to get the desired result.
- Edit Poly modifier again, select next id and unwrap....
Remember to put the unwraps in different places, otherwise different id's will overlap.
4. Apply a last Edit Poly and unwrap it to place and scale the different parts in order to fit it inside the texture you'll create. It's important not to leave big empty spaces, which could be used to improve your model!
5. If there is something wrong, geometry... you can Edit Poly (modifier), and unwrap the id that contains the error another time, then repeat number 4 again.
The aim is to see the checker texture over all parts of your model without distortion. The more distortion it has now, the more you will suffer painting to get good results later to solve the problem of stretched textures.
Here is the mesh mapped with checker
Here is the texture resulting of the unwrap.
This is the section where total texture CD's have been used. I wanted to give a futuristic look while showing he was still human, so I used v4 humans & creatures for all human related textures like skin and eyes, and on the other hand I used v7 sci-fi for the metal parts attached to his head.
You will later see that exporting maps from our high resolution model will be useful for creating a base for our skin dark and light parts, so now we will focus on all that can be done without a depth base texture.
Since I've used lots of textures and layers it's necessary to be well organized, so group layers of the same area (face, side parts...) or related ones (normal maps, speculars...) with layer groups, otherwise it'll be a chaos.
I've also put a layer with the unwrapped render shown before at the top of the layers with 44% of opacity and in screen mode to work with the wire showed. And a uniform grey layer at the bottom using it as a limit for transparent areas.
For creating the skin base I used a mixture among several 3d total skin textures.
This first image is composed by 4 skin layers with that top-down order:
In the last layer I added some soft red color to simulate cheeks and other colored parts of the face.
Then I added eyebrows (hmif018), lips (hmif021) from miscellaneous facial human maps from the and a scratch to give him personality :P(V4).
Afterwards I added some other human maps to simulate wrinkles in the forehead, around the eyes and next to the lips. I also added a beard with a grey hue area and some transparent dots made with the brush tool using a multiple dot brush type.
Next two steps should be better done when high poly model is created so you can skip then and come back after.
For the outlines of the face I first added a layer with hard mix as blending mode over the hsky015 layer containing the baked light of the model with a three light illumination set up.
Then the last step was creating another hsky015 layer forehead with luminosity as blending mode and 65 % of opacity and use the burn and dodge tools to simulate the light and dark areas of the face. This process should be done while looking at some reference photos in order to know where those light and dark areas are. If you don't need them, then you're a master :)
For the neck I used the same skin base then and put the hole wounds and a tattoo (multiply, 65% and dark green color).
Creating the head pieces
All head pieces are a mixture of several textures within total textures sci-fi V7. All texture layers are used playing with layer blending modes and opacity.
For example, for the brain area, where it has a grey metal texture I created three layers and added a border lighten part.
You can see here the final color texture.
For finishing the overall texture I added some image adjustments such as Hue/saturation, it's always a good advice to play with them after the texture is finished which can lead to nicer results
High Resolution Model Creation
Exporting and importing process:
Select the mesh and export with max OBJ exporter with these settings:
You can export only the original (not mirrored) parts of the mesh or mirror them and export the whole mesh. I recommend the second one, and then play as much as you can with the symmetry options within zbrush. That way, you won't have seams when creating the normal and bake textures from the high resolution model. If you don't do it, then you'll have to touch up much more the seams during the texture creation process.
It is important to use several digits, if not texture coordinates won't export properly.
Inside Zbrush, import the mesh (Tool->Import) and apply the texture already created (Texture->Import), the same texture you used for Max model.
If the texture is not well applied to the model, flip it vertically (Texture->Flip).
Now you're ready to work with the model in Zbrush seeing the texture applied in order to see where you wrinkles, for example, should be.
This tutorial won't cover the modeling techniques to create the high resolution model, so create the high polygon head and export it.
This image shows the beginning of creating wrinkles in the face.
Notice that small details such as rough metal surfaces, even though being a "normal map task" will be created in photoshop with Nvidia plugin not with Zbrush. You will better understand it later.
When subdiving during the high poly creation, I recommend disabling the "subdivide smooth modifier" button in the first subdivisions of the mesh, that way it won't smooth all the mesh making it smaller or very rounded, but that will generate corners in the mesh you'll have to smooth. It will be also useful to put the texture off and see the mesh in a single color better deal with the details.
Once the high resolution model is done, export it within the highest subdivision level. Maybe you need to disable the "Group" button in the Zbrush exporting options, so you won't have separate objects.
Normal Map Creation
Import the model from Zbrush, apply a smooth modifier (you can activate auto-smooth and increase the threshold slightly as you look at the results) if the mesh seems too sharp or faceted in some parts and place the high resolution model in the same position as the low-poly model so they are overlapping.
As you can see in the image, these are my two meshes after overlapping them. Notice the high resolution is only the not mirrored parts, re time with the texture later, that's why I have recommended to create the high-poly using the whole mesh!!!!!
Now select the low-poly mesh and Rendering->Render to texture (shortcut:0) then using the parameters of the image below hit Pick button and select the high resolution model.
In projection modifier parameters you must update the cage and increase the amount till no red parts are shown in the normal map when you hit render.
After some test you can increase the resolution of the rendered map to the desired size to get the final normal map texture.
But normal map creation has not finished here if you want great details. You'll have to touch up the normal map to improve it and to hide any possible overlapping.
You may also use your color textures created before, apply the Nvidia filter
(http://developer.nvidia.com/object/photoshop_dds_plugins.html) to them and use the layers as overlay with the desired opacity putting them over the base normal map created with max. This part can make your model have great details!
To understand it, we could say that big details (displacement) are made with Zbrush and small ones (bump) with the Nvidia filter.
Notice that some parts of the texture are very difficult to be done using a high model. For example, it would have been hard to high poly the metal cables at the sides of the model according to the texture it had. So I created the normal texture for it using a touched up version of the texture and applying the Nvidia filter. Remember that this filters works with black&white; parts to create the heightmap 3d look. You can see the result here:
As you can see, using our previous textures gives an accurate detail to the normal map. For many parts I used this Nvidia plugin settings
After doing a similar process with other parts of the model and using overlap layers as I have told, here are the initial and last normal map.
As I told before, exporting maps from our high resolution model will be useful for creating a base for our skin dark and light parts. You can export several diffuse maps using render to texture and changing lights in the scene and materials to your character. For example, apply a white matte material to your character, put a skylight in the scene, render to diffuse and use this map for a dirt map in Photoshop... you can see find a great tutorial about this in Pior Oberson's web page: http://www.pioroberson.com/tuts/tut_texturing_tricks.htm
(Notice he used a different technique for creating texture maps).
Showing up the Model
Once the model is finished, we need to show it up. So the ideal thing would be creating an illumination environment similar to games. For my final image I simply used a standard material putting the color map into the diffuse slot, the specular map into the specular color and specular level slots and the normal map in the bump slot as shown in the next image.
In that scene I also added one spot light and four omnis to illuminate the model from all views (since I wanted a 360 degree animation), each one with different colors. I used a orange for a hot illumination, a yellow for sun-like illumination and some blue and white colors for general ambient.
I also added a 30% of auto-illumination in the material.
Well, I hope this tutorial has been useful to you, and don't hesitate to drop me an e-mail if you have any comments or questions!
If you create a model following my tutorial, please let me see!! ;)