3D Facial Modelling Reflective Report

advertisement
3D Facial Modelling
Reflective Report
Jordan Preston f002399a
Contents Page
Introduction
1.1. Introduction to project/industry relevance
Modelling anatomy and proportion
1.2. Demonstration of edge loop techniques with reference to industry sources
1.3. Comparison of head model to reference & anatomy
Material & Texture generation
1.4. Understanding of Unwrapping & Texture maps
1.5. Discussion of the texturing process
1.6. Comparison of textures to reference photos & Industry Work.
Evaluation and conclusions
1.7. Conclusions over the project as a whole & Suitability for a current generation
game engine
1.8. Comparisons to head models in existing games & successes and failings
1.9. Industry/community evaluation & Further work related to industry/community
feedback.
Appendices
1.10.
Appendix 1: Reference images (MUST be included)
1.11.
Appendix 2: Head 1 Renders and Wireframes (including reference images)
1.12.
Appendix 3: Head 2 Sculpt screen capture
1.13.
Appendix 4: Head 2 Retopology Wireframes
1.14.
Appendix 5: Textures (Diffuse, Normal, Spec, Opacity) & Shader network
1.15.
Appendix 6: Beauty Renders in UDK
Introduction
In this assignment, a photorealistic head will be modelled, following an industry
standard workflow and complying with the limitations set by the current generation of
game engines.
Beginning with modelling a head based on photographic reference in 3DSMAX, the
model is taken through sculpting program Zbrush multiple times to add finer details,
and refine the overall shape of the model. Once the sculpted face is
finished, the head is brought back into 3DSMAX and used to create an
entirely new head, a lower polygon version of the previous head that
retains the same shape. This process
The first step of the process is to model a low polygon head in 3DSMAX,
based on photographic references of the front, side and ¾ views. This is
to ensure a realistic form to copy from and produce a lifelike shape. An
important consideration at this stage is to model with an even, clean
polygon distribution, and to only use quads. The reason for this will be
covered later on.
Next, the base mesh is brought into sculpting program ZBrush, to refine
the shape and add the finer details such as wrinkles and creases that the
face naturally has. ZBrush has the ability to work with incredibly high
polygon counts, and this is used effectively to create much higher
detailed models than 3DSMAX is capable of. This is arguably the most
important step in the entire workflow, as not only is the normal map
eventually derived from this sculpted head, but the ZApplink tool allows
the model to be diffuse textured, also.
Once the model is sculpted and textured, it is brought back into
3DSMAX, and used to retopologise an entirely new head model. Taking
on the almost exact shape of the high poly model, it is perfect for
projecting the normal and diffuse maps onto, resulting in a new copy of
the high poly sculpt, except with much less polygons.
Finally, the hair is modelled and the opacity and specular maps are created and applied
to the head, to hopefully create the photorealistic replica of the original photograph
references.
This process is the standard within industry modelling when creating game-ready
models, not only when modelling faces but with everything that requires a large amount
of detail.
Modelling Anatomy and Proportion
There are some important techniques required when creating organic models such as
faces and bodies, the most important being edge loops. Popularised by Bay Raitt
(http://cube.phlatt.net/home/spiraloid/) of LotR and Valve fame, edge loops are loops
around the face and body that mimic how real muscles appear and deform. The loops,
shown below, create a realistic silhouette from any angle and deform well when
animating.
One of the reasons why this technique is widely used within game
asset creation, other than the anatomical benefits, is that when used
properly they tend to produce four sides polygons, or quads, which
result in optimised rendering and greater subdivision.
Four sided polygons, quads, are the much preferred type of polygon to
use compared to tris (three sided polygons) and ngons (over 4 sided
polygons) as the latter polygon types can cause problems such as
subdivision and animation errors.
As troublesome as that sounds however, tris are acceptable in areas of no distortion or of
they are hidden away, as they only produce visual errors. While tris on the initial head
model would not be the best idea, the retopologised head will not require subdivision or
animation distortion and thus tris are fine.
Another example of good edge flow and polygon use for facial modelling is even polygon
distribution, if a particular edge or polygon is too thin then it could cause pinching and
tightness with the shadows on the model, although there are a small amount of places
that this could be beneficial such as some creases in the skin.
Comparison of head model to reference and anatomy
This image was created for the milestone, upon completion of the base mesh. Hair was
later added as an indication of what the finished model could look like, but was removed
later on when the final hair planes were created.
The base mesh is actually quite different from the photo references, despite being
constantly referred to for proportions and dimensions, but this is fixed during the
ZBrush sculpt. The main issues where:
-
Nose much too bulbous compared to real face, this is most noticeable on the front
and ¾ views.
Eyes strangely managed to be 2/3cm lower than they should be. This was
probably an issue with the side and front reference images being taken at a
different angle, and thus the proportions of the face appeared differently.
The cheeks are slightly less defined, and the chin is slightly too defined.
These issues gave the face a somewhat stylised comical look, but the topology, loops and
mostly quad polygons resulted in a successful base mesh.
The ZBrush sculpt corrected these major issues for the most part, to the point where an
overlay of the ZBrush head would fit over the photo reference and be aligned to all facial
features perfectly, and this was carried over to make the retopologised face accurate
enough, too.
Material and Texture Generation
The texturing process is an important part of the workflow of making a game asset, as
it’s where the final model gets a lot of the detail that actually makes it look good. To add
a normal, diffuse or any other sort of map the program must know where each bit of
information should go, and that is where the UVW unwrap window comes into play – by
unwrapping parts of the model onto this 2D plane, it becomes possible to add colour or
other information depending on the type of map which can then be applied onto the
model.
The process of unwrapping a face is much different from unwrapping something hard
surface, like a tank. Upon applying the UWV modifier, it may seem daunting to figure
out where to start with a model with no obvious seams, but considering where the head
would not be seen (back of the head, around the ears) is a good place to start. The ears
are first broken off the head and unwrapped individually, using the traditional face/edge
relaxing and slowly stitching it into a 2D shape that still retains its form.
Next the rest of the head is unwrapped. For this, cylindrical mapping is used to unwrap
the head like a pelt; the back of the head is broken apart and stretched out until it is
entirely flat. Rotation often needs to be used when using cylindrical mapping, to ensure
the best place for the break at the back of the head. From there on out, the relax tool is
used and then subsequent times to individual areas, using the soft selection tool. Some
areas distort when relaxed however, and must be arranged manually to give a proper
shape.
Once all UV islands are relaxed, not overlapping and arranged with as little remaining
space as possible, the unwrap is complete. The normal map projection, and the diffuse
projection within Zbrush will now use this information to know where to place the
textures.
Comparison of textures to reference and Industry work
There were six textures made for the entire head: a diffuse, normal and specular for the
head and a diffuse, normal and opacity map for the hair. The initial thought when
creating the hair and face was that there would be many different, perhaps large islands
required to portray the hair but in retrospect it could have been squeezed onto a single
diffuse/normal.
The textures (See Appendix 5) where created almost entirely via photo texture
reference:
The photo textures where just okay, more detail could have been obtained if the hair
was tied back so the forehead and neck would not be obscured.
The head was textured via ZApplink, a Zbrush feature that works together with
Photoshop to texture the head directly, which can then be projected as a diffuse map.
The hair was also created via these photos, with parts broken off to create the different
hair segments.
As they are photo textures, they are very similar to what the references look like when
unlit, although a lit scene in 3DSMAX could change the hue slightly.
The way the textures where created is quite similar to industry standards, although
professionals sometimes include the head and hair in the same texture map as the
clothes and other assets. They also only unwrap half the head and symmetry it over
later to conserve space:
Texture maps by Hai Phan (http://haikai.net/)
Evaluation and Conclusions
The project ended up as a success. While not entirely of the quality expected, a
satisfying result was produced, especially considering that ZBrush and its many
features had never been used before. Some silly mistakes were made, such as splitting
the textures up and the subpar photo textures/references.
Technically, the final head model would definitely be suitable for use in a game. All of
the texture maps are 2048x2048, but could definitely be downsized to 1024x1024 with
not much loss in quality due to the small amount of detail. The tri count came to 4342
total, well within the tri limit.
In conclusion, the head was by no means perfect but nothing ever is when learning is
done along the way. The skills learned while making the head however, will help to
create an even better, more elaborate result next time.
Appendix Images 1: Reference Images
References
Information on edge loops and edge loop example image:
http://cube.phlatt.net/home/spiraloid/index.html
http://zoomy.net/2008/04/02/modeling-with-edge-loops/
http://forums.cgsociety.org/showthread.php?t=249253
Examples of facial textures:
http://haikai.net/
Appendix 2: Head Renders and Wireframes
Appendix 5: Textures
Download