Professional Documents
Culture Documents
• Skin concept
• Shading network
• Create projection
• Applying projection
1. Detailing a model using a normal map
The nostril is one of the most complicated shapes in the human face. Modelers
commonly build nostrils using pod structure. With pod structure, the shape tends
to look like a simple hole, non organic and realism is lost. The nostril has a bridge
structure (red surfaces above) from the side of the nose to the inside of the
nostril towards the tip of the nose. This technique will also merge seem between
the nose and upper lip, and make it look more natural.
I built the lips by creating two loops as it is shown above. Modelers commonly
build lips with a single loop. However, this geometry construction often causes
undesirable deformations around the corner of the mouth. Notice the bottom lip
(red surface above) is flowing inside of the mouth and the top lip (blue surface
above) is curling in the corner of the mouth and flowing inside the mouth. This is
very much like how a real mouth is constructed and this technique will add some
realistic detail to your geometry.
Interactive lighting and self shadowing are getting more common in next
generation games. Because of the introduction of self shadowing, it is important
that the shadow on the face looks realistic as well as the model itself. It is
important to check the model under the influence of interactive light and shadow
while you are building the model. Remember, you are not only building the model,
but also you are designing to shapes of shadows on the face.
Notice there are a few triangle polygons sprinkled around in the face geometry.
Triangle polygons usually create a creasing effect on the surface. Take this as an
advantage, by using triangle polygons where you want to end edge loops. Also,
compress the loop, using triangles in an area that is supposed to have creases.
Triangles are very useful for creating wrinkles. It is important to have some
surface material description on the model and triangle polygons can help to
describe some of the surface details.
Building a game resolution model from the high resolution model
The polygon reduction process can be simple, if you built the high resolution
model with reduction in mind. The high resolution model is built mostly with quad
polygons and defined edge loops. By using the Select Edge Loop Tool, select
every other edge loop like it is shown on the left above and delete the selected
edges. This process will reduce the polygon count to one forth of the amount.
High resolution polygon count being 4 times more than the game resolution
model gives you a good starting point. For example, the high resolution
character’s head is roughly around 14000 polygons which got reduced to 4000
polygons in the first path. So if your budget for your in-game character is 5000
polygons, a 20000 polygon head model is the preferred count.
The screen shot above is the final in game model. It was built based on the
polygon reduction technique shown above. After the first path, some more edges
were removed and some edges were added to where it needed more detail. For
the game resolution model, most of the detail is defined by the normal map so
where you need to pay attention is in the silhouette of the facial model. Make
sure that the normal map and the silhouette of the model reads well together.
Defining the form of facial geometry through a normal map
The normal map is generated from the high resolution model based on the game
resolution model’s tangent space normal. In the Surface Sampler Tool option box,
add the high resolution model as source surfaces, add the game resolution
model as target surfaces and turn on Normal Map check box and you are ready
to bake the normal map.
Unfold UV tool is a very powerful tool for unwrapping organic surface UV.
However, unfold UV tool often gives you unexpected results when it is used on a
complex surface such as the face. This chapter will show you how to utilize the
tool to get the best results. To get the expected result for the tool, you need to
give more information to the tool by applying the tool to selected regions, pin
borders, or selected UV.
Before unfolding UV using the unfold UV tool, first you need to define the regions
of plates. The face consists of 3 main regions which are the front, the side of the
face, and the neck. The nose and ear are complex shapes, so it is a good idea to
separate those parts as different regions.
After you divide the face into separate regions, apply planar projection to each
region. Make sure that the projection width shares the same value as the
projection height and the value needs to be the same for all the planar projection
you apply for all the regions. This insures that the planar projection is square and
all the regions are in the same scale.
Stretch check for the organic surfaces
The black circle pattern is especially handy when you are editing UV for the face.
Notice that you can clearly see where it is stretching and warping in the screen
shot above.
Bring it all together
Using lattice deformer, expand the space as it was compressed from the planar
projection
Apply Unfold UV to the whole front side of the face with solver weighting of 1 and
pin UV border on
Move the side part of UV closer to the front part of the face
Using lattice deformer, deform the side face UV closer to the UV border of the
front side of the face UV
Move the neck part of UV closer to the front part of the face
Using lattice deformer, deform the neck UV closer to the UV border of the front
side of the face UV
Select the nose bridge area and apply unfold UV with solver weight of 0
Move the eye section of the UV to the right to give more space for the UV of the
nose bridge and select UV on the distorted section and apply Unfold UV with
solver weighting of 0 selectively
Skin concept
The skin shader of this character consists of 3 textures: a color map, a specular
map and a normal map. What’s special about this shader is that there is no map
which describes the bumpiness. The normal map is commonly used to describe
surface bumpiness; however, the bumpiness of the skin is so fine and shallow,
that it is very hard to get the feel of skin bumpiness through a normal map or a
bump map. It often ends up looking like a rock, or some kind of hard material. In
this character’s shader, the bumpiness is described through the color and the
specular map. In the specular map, by painting the crease and pores of the
specular map not shiny, it gives you the illusion of bumpiness and you can get
good results. I strongly recommend this technique for materials like skin, leather,
cloth and so on.
Shading network
The skin shader of this character is a blinn with color map, speculer map and a
normal map. The normal map is connected to the bump2d node used as tangent
space normals. Yes it is very simple but it is gives you a good starting point for
the skin shader in game.
Ambient occlusion map
When you are baking an ambient occlusion map, make sure to use the highest
resolution model you have, to get a detailed result. In mental ray baking option,
set “bake to” to vertices, “color mode” to occlusion, “occlusion rays” to 512 and
“normal direction” to surface front. This will give you a good result on the
occlusion map on vertices.
Once you get the occlusion information on the vertices, you need to generate a
texture from them. You can export vertex color information to image format
through the paint vertex color tool option. In the export tab, you can choose the
image format and the size of the map to export.
The screen shot above is the result of an exported ambient occlusion map from
the vertex color.
Projection Painting in Maya
Create projection
Projection painting is a very powerful feature that 3d paint packages offer. This
chapter will show you the process of doing projection paint, without a 3d painting
package.
Select the polygon faces where you want to apply projection painting and
duplicate the faces to a separate object. The duplicated geometry is going to be
the projector.
The screen shot above is the UV of the projector.
Apply a new set of UV to the projector, which is easy to paint, or project the
texture in a 2d paint package. Paint the texture for the projector UV.
Assign the texture to the projector.
Applying projection
You can project a diffuse color map, using the surface sampler tool. In the
surface sampler option window, add face geometry to target surfaces, projector
geometry as source surfaces, turn on the diffuse color map check box and hit
bake. Make the filter size to 1 to get a sharper result. Sampling Quality can
increase the sharpness as well but it will increase the rendering time and
memory consumption.
The screen shot above is the result of the texture projection.
The screen shot above is the result of the projected texture assigned to the
character.
The projection paint technique in Maya gives you two advantages. First, it is not
screen resolution dependent, which means you, can project a bigger image than
the screen resolution allows. Second, you get to keep the projection.
Conclusion
In this MasterClass, it was demonstrated that the approach of building a game
resolution model based on a high resolution asset, produces successful content
for next generation games. I hope to see these techniques used in many next
generation game productions. Feel free to contact me at sheen3d@yahoo.com
and also visit my website www.sheenmasu.com