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