Massimiliano Bianchini shared the production details of Ellie's portrait, a tribute to The Last of Us Part II: sculpting in ZBrush, skin texturing, grooming, and more.
In case you missed it
You might find these articles interesting
I’m Massimiliano Bianchini, a 3D artist from Italy.
My 3D journey started 3 years ago at Bigrock school where I got a Master in CGI. My biggest passion is drawing my favorite characters and as I wanted to take it further I started creating realistic 3D characters. What inspires me the most when I choose a character is the story behind it.
Great stories make characters great, and I wanted to thank Naughty Dog for one of the best stories ever told.
Ellie: Start of the Project
I started this project with my personal male bust base mesh instead of beginning from a sphere just to spare some time.
And like always before the start, I gathered a lot of references in PureRef. The references included both young Ellie from The Last of Us and grown-up Ellie from The Last of Us Part II. I also saved some portraits by other great artists and lots of anatomy references for facial bones landmarks and muscles.
The goal was to create the most accurate portrait of Ellie that I could achieve and also refine my skills.
In ZBrush, I started playing around with primary and secondary shapes using a gray BasicMaterial, and also moving lights around to check the volume under different lights.
Among my references, I chose the facial expression I wanted to get in my final portrait and set it to Hero reference for the likeness.
When I was happy with primary and secondary shapes, I recorded a layer with symmetry on as a backup, then another one where I broke the symmetry.
Here, I started to match the likeness properly. The areas that I had to work on without symmetry the most in order to achieve likeness were the distance between the eyes, ears, nose, chin, and a little of the zygomatic bone (cheekbone). Also, the collarbone and neck needed a pass without symmetry to achieve a more realistic and believable look.
I recorded another layer where I applied a skin displacement texture from Texturing XYZ, without symmetry on, simply by dragging alphas with Standard Brush.
In an extra layer, I added the last tertiary details manually, like some skin imperfection, wrinkles, nose pores, and the eyebrow scar.
During the whole sculpt, I kept switching between Ellie’s images and anatomical references.
The brushes that I used the most in this project were Standard Brush, Clay Tubes, Clay Buildup, Damian Standard, and Move Brush. I avoided using Smooth Brush, or I used it at a very low intensity because it erased extra details made with brush strokes while sculpting secondary details.
Retopo & UVs
When the sculpt was done, or almost done with major volume, I did a retopo in Maya with Quad Draw tool.
I usually do this before applying the tertiary details in ZBrush because a good topology allows you to get better details without using too many polygons.
With retopo comes UV unwrapping, also done in Maya. I chose to use a single UDIM for the face, that was enough to achieve a good texturing level.
The other shells were arranged at the same density in other UDIMs.
To set the same shell density go to UV Toolkit -> Transform -> Texel Density -> Get -> Set.
Ellie’s groom was very difficult to achieve, she has a unique and awesome hairstyle that was a real challenge for me.
I split her hairstyle into several parts which allowed me to get more control and details in different areas. The whole "collection" was composed of eyebrows, eyelashes, fuzz hair, and multiple hairstyle sections (ponytail, hair strand, fringe hair, tied hair, shoulder hair).
The major sections were made by 3 levels of clumps, the minor ones like eyelashes or fuzz hair used 2 levels of clumps.
I used noise modifiers to set up different noises (root noise, tips noise, hair randomize noise). For some sections, I used a cut modifier, just to create a further length difference. A rand expression was used for setting up hair length and width.
For skin texturing, I used a diffuse multichannel map from Texturing XYZ painted over the model with ZBrush Spotlights. I exported this diffuse texture from ZBrush and used it as a base in Substance Painter.
I started remapping the skin tone in Substance Painter with an HSL filter to match Ellie’s pale skin.
With the Overlay blending mode, I added 3 different keys color:
- RED: When skin is fleshy, with more capillaries like nose and cheeks;
- YELLOW: When skin is thinner, with fewer capillaries like forehead;
- BLUE/GREEN: When skin is more veiny, like around the mouth;
I created different folders for different face areas like lips, eyes socket, scar, ears, nose, and cheeks in order to get even more details.
When I was happy with the skin diffuse, I created a folder for the light eye makeup, dirt, and blood textures.
Blood and Dirt were made in the same way, different colors with the same procedural map, with different balance and contrast for each color.
All these layers were gathered into folders (e.g. Blood Folder), then I add a black mask, and with a brush, I simply removed the mask where I wanted.
Basically, the skin is a mix of procedural and hand-painted layers put over a ZBrush polypaint base.
In order to have some light variation, I set up the Roughness map with a procedural noise with 3 different values. The SSS radius was done the same way, I blended orange and reddish colors together with a procedural noise. For the SSS scale, I played with different lighting sets using reference to get a realistic result.
Preparing the Renders
For rendering, I created different lighting sets, a neutral one for Lookdev and others with different light conditions.
Eyes are the most important part of a portrait, they show emotions, so I linked an area light to the cornea and the plica to create a realistic light reflection.
- HDRI: Used as a filler with lower intensity, from HDRI Haven
- Area Light: Used as a Key light
- Area Light: Used as a Rim light
- Area Light: Eyes specular
I played with intensity and light positions a lot, always using references from real portrait photography and other artists' work for inspiration.
To render the shots, I used Arnold. When the renders were ready, I added a few passes in Photoshop to enhance some features. Renders with backgrounds needed extra color correction to match the background and the character better.