Character artist, Ray Thuc Le, shares how he re-imagined Ellie from The Last of Us using ZBrush...
I really like the character Ellie in the video game The Last of Us by Naughty Dog, and I am curious to see how she looks in the sequel. In the game she is fourteen years old and I wanted to do something different, so I decided to make an older version of her. I hope that Naughty Dog has been working on the next game and it will probably take them several years to make it, so she could be around eighteen to twenty years old when the game comes out.
Step 1: References
For this Ellie fan art project, her current face is important to making her look older, and also nailing the likeness. I began to gather references as much as possible. As you might know Ashley Johnson
was chosen to portray Ellie in the game, but some people think Ellie also looks a lot like Ellen Page
, and I kind of agree with them. So I was thinking about mixing them together.
Step 2: Face analysis
After getting all the references, it was time to analyze the face and write down all of her traits. As I'm planned to make an older version of her, it was really important to understand aging and the process of becoming older. How do we change physically as we grow? To find an answer for this question, I went to YouTube
with a hope that someone might have already done this kind of videos and I found this gem, a time lapse video
of a girl who takes a photo everyday in 6.5 years from her age of 14 to 21. It was really helpful, thanks Rebecca Brown!
Step 3: Sculpting the head
With references and an understanding of aging I moved on to sculpting. In ZBrush
I started with a generic head base mesh. I used the Move and Clay Buildup brushes, set with a very low intensity, to define the primary shapes; then I refined the muscle shapes and facial anatomy, I will add fine details later. I used the Move brush to style the hair and I placed all the eyelashes manually, they are made from very small cylinders. It is a very straight forward process that is all about patience, If you would like to know more about the workflow that I am use to create hair for games you can check out my other tutorial Creating Real-Time Hair for Games
Base mesh (left) and Secondary forms (right)
Step 4: Making the clothing
I used Marvelous Designer
to make all the clothing parts. This next step shows you the Marvelous Designer to ZBrush workflow that I used in this project. First, I imported the full body model into Marvelous Designer, which uses real world scale, so make sure your model is the right size. I created the clothing patterns using the Create Polygon, Edit Curvature, and Edit Curvature Points tools, and then sewed the patterns together with the Sewing tools. I used the Simulate button and tweaked the clothing until I got the form I wanted. Don't spend too much time in MD because it is easier and faster to adjust the mesh in ZBrush. Once I was happy with the form, I export the shirt to ZBrush.
Step 5: Clothing retopology
It is quite hard to explain the clothing retopology workflow in words, so it might be a bit confusing. This workflow gives a super clean topology mesh with UVs, and it also saves a lot of time. First, I exported two meshes from Marvelous Designer. The first is the simulated mesh - make sure to check these boxes in the Export settings: Single object, Thin, and Unweld. The second mesh is the flat mesh - I selected the mesh and clicked Reset 2D Arrangement to flatten it and used the same export settings. Next, I imported the flat mesh from MD to ZBrush. This mesh is triangulated, and has UVs. I need a clean topology to sculpt so I used ZRemesher to quadrangulate it.
Now I had a clean quad mesh but I lost the UVs. I recovered the UVs in Maya
by using Transfer Attributes. At this stage, I needed to import two flat meshes, the original one with UVs from Marvelous Designer, and the one that I quadrangulated in ZBrush. In order to transfer UVs, the quad mesh's edge borders needed to be aligned perfectly over the tri mesh. ZRemesher will never give you a perfect result, so make sure you spend time to fix the quad mesh if needed.
The quad flat mesh has the same UV as the tri mesh. It was time to import the simulated mesh, since they both had the same UVs; I transferred the vertex position of the flat mesh to the simulated mesh by using Transfer Attributes again. This time, I made sure Vertex position is "on" and Sample space is "UV" in the Attribute settings. I selected the source mesh first (the simulated mesh) and shift selected the target mesh (the quad flat mesh) and clicked Transfer to wrap the flat mesh to the simulated mesh. Now I have a lower poly mesh with super clean topology and UVs.
Step 6: Texturing
I used Substance Painter
for texturing. This technique is not the best for high realism, but for this project it's enough. In the image I have separated each of the textures I used for Ellie's face.
1. This is just simply a flat color, a base skin tone layer
2. I created a fill layer and filled it with an Ambient Occlusion map, set the blending mode to Multiply and opacity to 50% to only apply the dark parts of the AO. Then I started adding some color to her eyebrows, eyes, and lips. This adds a bit of warmth to her face, and bring out her features
3. Once I was satisfied with the secondary layer, it was time to add some color variations. Human skin is divided into three color zones: yellow, red, and blue. I created different layers and painted the face with these colors. Yellow/golden forehead, blue/teal under the eyes and chin, red cheeks and nose, and pink lips
4. In real life, these color zones are very subtle, so I set the opacity value of those layers very low (4-13%)
5. Imperfections makes perfection. I add subtle imperfections such as freckles, moles, and scars to give her a sense of life
6. I add a dirt layer to bring out the "survival" feel
7. This is the Roughness map. I baked a Curvature map from the hi-poly and using it as a base roughness. I also created an adjustment layer "Levels" to tweak the roughness. In Rough/Metal PBR workflow, black (0.0) defines the smoothest surfaces and white (1.0) defines roughest surfaces. For exam-ple, the eyebrows are painted in white because I don't want any reflection on it
Step 7: Lighting and rendering
After finishing the textures, I exported all the maps in PBR Metal Roughness preset to use them in Marmoset Toolbag
, a real-time rendering application. Please note that you might need to change some settings in Marmoset Toolbag in order to use texture maps exported from Substance Painter.
Here is what I do:
- Normal: Flip Y channel
- Gloss: Invert True, Texture options > uncheck sRGB.
- Reflectivity: Specular to Metalness
- Reflection: Blinn/Phong to GCX
Once all the materials have been set up, it was time to move on the lighting. I spent a lot of time on this stage because lighting is very important in my opinion. Lights are the most effective way to achieve dramatic results. It plays an important role in creating mood and emotion for the character. I tried many different lighting setups until I got the look I wanted. With the lighting sorted I was done, you can see
To see more of Ray's work check out his website
Learn more about anatomy by grabbing a copy of Anatomy for 3D Artists
Have a rummage through our free textures