Creating a Zombie Cheerleader Character with ZBrush & Substance 3D
Jason Farmer talked to us about the Zombie Cheerleader project, discussing modeling and texturing the character's head, face, and hair from scratch using ZBrush, Substance 3D Painter, Maya, and Marvelous Designer.
Introduction
My name is Jason Farmer, and I'm a Junior Character Artist. I got into 3D over a year ago. Before that, I was a professional tattoo artist for nearly ten years.
I started out playing with ZBrush and was instantly drawn to it! The fun of playing around with digital clay and the endless possibilities kept me engaged. Eventually, learning other software like Blender, Maya, and Substance 3D Painter to further explore this medium. Iэm entirely self-taught. I suppose anyone who is putting in the work is inherently self-taught. What I mean is that I haven't undergone any university courses or attended any kind of games school.
I would like to give a shout-out to the Flipped Normals courses and YouTube; they gave me a great starting point, and JHill's character course gave me the backbone to understand how game characters are constructed for the industry pipeline.
Inspiration & References
When I started the Zombie Cheerleader, I intended on making a zombie. I hadn't thought about a narrative for the piece or any kind of backstory. I wanted to make something cool. Moving forward with the Zombie idea, I knew that I had a lot of planning to do.
Starting with inspiration using PureRef, which I won't show since I'd probably get sectioned. The three main references that inspired me were the girl from the opening scene of Zack Snyder's Dawn of the Dead, Richard Smith's Dead Island 2 piece, and the VFX makeup from the Last of Us series.
I had a short list of things that I wanted to accomplish with this piece. I didn't want to use a base mesh. I wanted to make my own, I now understand why people use base meshes... The final goal was to achieve a render in Arnold. On the way, I wanted to challenge myself by sculpting a younger face, find a workflow with Marvelous Designer, become more familiar with the node system in Maya, and learn how to use XGen. What I didn't expect to learn was how to make a simple rig to move the head and use blendshapes for the expression.
Sculpting
Starting from a trusty sphere, I then sculpted what would be the base mesh for the project. Keeping it as a dynomeshed model until satisfied, then doing a quick retopo in Maya using Quad Draw.
I wanted to make this a believable zombie and to appear as a person who had a life before the apocalypse. In order to make her believable, I knew I had to get the sculpture to a near-finished point before adding the gory bits. One of the biggest challenges here was sculpting a younger face. There are a lot of nuances and subtle form changes in the face. To tackle this, I tried to visualize the skull, the bony landmarks, and the larger forms and plane changes. Making sure to spend time away from the sculpture to get a fresh eye on it. I don't use anything fancy when sculpting. I mainly use clay, move, inflate, and dam standard brushes. I like to keep it simple and find creative ways of using the tools I have.
When I was happy with the overall look of the sculpture, I could then start the zombification process. I knew I wanted the skin and the flesh to be separate geos, so I duplicated the sculpture, then inflated it inwards to make it smaller and started sculpting away. This worked well since the Topology and UVs were already done for the sculpture, one less piece to spend time on, and I could always delete the unused parts after. Doing it this way gave me a lot of freedom with the gore, as I could carve out new areas and explore the gesture and flow of it.
After this, it was a case of creating the final bits of character and the cordyceps, fungus, and tendrils. Playing around with the Curve brush stroke settings allowed for some interesting and organic shapes. To save time with topology and Uvs I would ZRemesh and project detail back on the mesh, then for the UVs, UV master and unwarp. Doing this shaved off a load of time.
Texturing
Before moving on to texturing, I had to get all the materials set up in the hypershader. To get the gore to show how I wanted it, I used a displacement map. ZBrush's multi-map exporter is great for this, and because the gore mesh was a duplicate of the head, it already had UVs. An important thing to note is that the Displacement Map has to be exported from whatever subdivision you're using as your Low poly. For example, if I'm using Subdiv 3 as my low, then the exporter needs to be told to export detail from Subdiv 3 upwards, otherwise it won't work correctly. I definitely didn't spend a day finding this out.
The cellular pattern was made with an AiCellNoise set to use alligator. When this was combined with the Displacement map from ZBrush, it's like magic!
For the texturing, it was a case of gathering some gross references, medical videos, and photos of raw meat were the best. I try to approach texturing from a painterly mindset. I like a lot of the impressionist painters who mixed a range of colours, creating more interest in the Albedo Map. For the roughness, I try to make sure there is a contrast from element to element while keeping the local roughness values compact.
Something I also like to do is buy texture packs off ArtStation, then spend a day or two going through and finding out how they work, then applying what I've learned to my own work.
Once the texturing was to a decent point, it was time to move on to the eye. Creating three separate meshes, the sclera, iris, and pupil, and lining them up roughly. Then added a Ramp node connected to transmission and set to circular ramp, also ticking caustics to create the hole in the scalar.
Then sculpted the iris in ZBrush, exporting a displacement map to apply to the final iris. Colour and details were applied in Substance 3D. If I had to do this again for the Iris colour, I would apply the same ramp node with different colours instead of painting them.
Hair was the biggest learning curve. I had never used XGen before and was excited and terrified to touch it. Starting with the eyelashes, placing guides, and moving on from there.
A cool little trick for the eyebrows was to take your groom mesh, make it paintable, then apply the strokes where you'd want your groom to be, convert strokes to curves, and curves to guides. The hair wasn't too complicated. Breaking the hair into parts like side, back, front, and ponytail gave me more control rather than trying to bunch and control the hair as one piece. The hardest part was making the hair look oily. To get that oily look, combining clump and noise modifiers did the trick.
The hair material was simple, AI Standard Hair with a few tweaks to the melanin, nothing too complicated.
Rendering
For the final renders, I started with some HDRIs to find a generally appealing light before moving on to posing. I use the HDRIS as a placeholder to get something quick and interesting. If the piece works well across different HDRIs, then I move on.
I knew I wanted to pose the character for the final shot. Usually, I would take the low poly into ZBrush, then pose out the character, but because this piece had grooms and lots of smaller meshes attached, I couldn't do that.
Making a very simple head rig was the start to move the neck and turn it. Then, to open and close the mouth, I used blendshapes. Posing the mouth in ZBrush using lots of masking and rotating. Seeing the character move like this was extremely satisfying, and I found myself playing with the pose a lot more.
Now that I have a pose, I move on to lighting. Lighting is more of an organic process to me, and it all depends on what I'm trying to convey. I gather references from movie scenes that I like and play around with matching the lights and what the vibe is. This last stage is very important; you can do an amazing project and have it let down by poor lighting.
The first lighting setup that I always do is a three-point setup with the key light, rim, and fill, sometimes using an HDRI to create some interesting colours. I tried that for this project, and it didn't work; the zombie looked like it was attending a professional photoshoot, and it stole the believability of it.
Settling on the idea of doing a shot in a cornfield, another as an action shot from a camera, and then using classic black and white films as inspiration for the rest. To do the corn field, I made one model in ZBrush, then in Maya duplicated it into groups and placed it around, applying a basic colour, roughness, and noise to the corn. I knew they would be blurred out from the DOF (depth of field), no pun intended.
All final renders were done in Arnold at 4k and exported as EXRs. The render settings are below. I didn't do anything other than turn up AA and make sure light samples were set to 2.
Conclusion
Looking back, the most challenging parts were definitely making the base mesh and getting the sculpting to a point that I was happy with. I remember spending the first two days in frustration, not able to figure out the proportions and volumes. Then I realized I wasn't trusting the process! So I started again focusing on the larger forms, and the general shape stayed zoomed out and slowly zoomed in, refining the forms little by little. Sometimes it takes starting again to make it better, "kill your darlings."
The second most challenging part was the hair. Not the creation of the guides and placement. It was getting the naming convention and organising all the different grooms, which I didn't do very well. Anyone who has used XGen knows how temperamental it can be, with a lot of crashes and work lost, but you get used to doing things over and usually do them better a second round.
I learned that base meshes exist for a reason!
My advice to beginners would be to plan out where you want to be in 5 years and work backwards. Set small goals, medium goals, and long goals. Make them achievable; that way, you feel like you're winning. My small goal is to open ZBrush once a day. I don't have to do anything, but by the time I've opened it, I'm already ready to sculpt. Also, love what you do and do what you love.