Creating a Striking Character in 3D with Zbrush and Arnold
From an idea to a rendered fully original character. In this breakdown, ArtFX graduate Robin Isola, details the process behind the making of "Banshee" in Zbrush, Maya and Arnold.
With this particular project, I wanted to put into practice everything I had learned so far related to CG characters and push myself to design an original character. I mixed in many other inspirations. The “banshee” folklore, some horror, pop-culture, video-games and fantasy influences.
Concept and References
Gathering references is essential. Get your hands on photographs mainly, however artistic references are okay to use, but keep them to a minimum as they already are an interpretation of someone’s vision. Pinterest or Google Image are a good starting point.
Organise your references to your liking using PureRef.
I started here with a base mesh I had made previously. With clean topology and existing UV, I only had to tweak the areas necessary for the anatomical liberties I took (4 fingered hands and feet, pointy ears…).
Good topology is not only necessary for production assets. Bad topology will lead to pinches and artefacts when sculpting, especially using the smoothing brush. So, keep an eye out for them, and place them with care.
If you don’t have one available, you can look online to find a suitable, production-ready made asset. Or you can move ahead with the sculpting part and retopologise later on using Maya and the quad draw tool (before you break symmetry).
In Zbrush, I started working on the primary shapes of the body and the blocking of the main assets and accessories. (face mask, necklace, teeth and gums, knife and dress). The horns came later on when I revisited my original concept to emphasise the fantastical aspects of my character.
All the modeling was done primarily in Zbrush. A notable exception would be the dress and belt, which I “blocked out” using Marvelous Designer, to get a nice realistic feeling in the way the fabric felt and folded. Using real sewing patterns are a great help to understand how to properly work out a garment. I then imported them into Zbrush for tweaking and detailing on a Zremeshed topology.
I used this project to further my experience in creating skin micro-details by myself. Using a combination of brushes and custom-made alphas, I organised my work on a few layers (Skin breakup, pores, wrinkles, high-frequency details, lips…) I also used some of the J.Hill pore brushes and created a few alphas in photoshop and loaded them into the dam Standard brush.
At this stage, I had my character split into 2 different .ZPR files based on my mesh Udims, so I could work on the face with a high polycount (+/- 30M). Because I didn’t want to resort to HD Geometry which doesn’t always work well with layers.
I decided to stick with Zbrush for texturing instead of my usual workflow with Mari.
It was quite challenging and a little more tedious than I initially thought, so I had to rely heavily on the use of surface noise and masking features to supplement hand-painting. I couldn’t build a proper shader either, so many back and forth between a quick Maya/Arnold setup were necessary at that point.
All the maps were exported in 8k and used within an AiStandardsurface shader, but we will get back to that later!
The hair was set up using Xgen core, manually groomed guides in several descriptions for each part of the hair. In Xgen, a description is a set of guides defining the length and shape of the hair, primitives (each individual hair) and procedural modifiers affecting the look of those.
- Peach fuzz (vellus)
- A few extra stray hair descriptions (optional)
Xgen is a powerful solution for hair. But it is pretty unstable, and the learning curve is steep. I wouldn't recommend using it other than for personal projects and artworks.
I used a combination of modifiers and expressions on each description to achieve the final look of the hair.
It will vary depending on the shape and length of your guides, but a good base for any hair system using Xgen would be:
- 2 clumps (mid, fine)
- 1 "global" noise
- 1 cut (random length variations for natural tips)
- 1 stray hair noise (with expressions, you can control the percentage of the affected hair)
Note : Guidework (placing and grooming guides) will heavily dictate the final look of your hair, so spend as much time on this step as needed. If you’re not quite getting the result you want, take a step back and add/improve your guides.
Lighting & Lookdev
The lookdev of this project was certainly one of the most complex I’ve done, given the variety of surfaces and materials.
I experimented with Arnold layerShader node*, for areas such as the face where I had a combination of skin, blood and paint/makeup. I used Zbrush again to paint a series of masks (painted alpha map) to drive these.
The main render was set up and lit with 4 area lights working in tandem with an HDRI set at a low intensity. The latter creates a fill light giving a richer feel to the shadows.
I also went with a secondary “cinematic” render consisting of an HDRI at medium intensity and a spotLight with a Gobo filter (I made a float mask photobashing and painting over some pictures of a canopy I found online for the leaves) to simulate sunlight going through tree leaves. Three other area lights also completed this lighting setup and I composited the final shot in Photoshop.
Compositing was pretty minimalistic, I only rendered still shots, so I used Photoshop and Camera Raw for grading. In some renders (the front keyshot for instance) I rendered the D.O.F directly with Arnold. For some others (secondary renders or the cinematic shot) I faked it either using a depth pass AOV or with manual blurring and a D.O.F filter.
I hope this article inspires you to take on your next 3D character and Rookie Awards entry!