Modeling a Stylized Character with ZBrush and 3DCoat

Keegan Edwards talked about his wonderful Hunter Girl character made with ZBrush, Substance Painter, 3DCoat and Toolbag.

Keegan Edwards talked about his wonderful Hunter Girl character made with ZBrush, Substance Painter, 3DCoat and Toolbag.


My name is Keegan Edwards, and I’m from Portland, Oregon. I attended the Academy of Art University in San Francisco. Currently, I work as a character artist at Sledgehammer Games on Call of Duty WW2. I really enjoy Character Art in games because of the challenges it provides. I find that the process is what I spend my time focused on, and I’m just as driven to improve my process as I am about making better characters.

Hunter Girl Reference

My reference was Nicola Savori’s Hunter Girl, as I really admire the aesthetic of his work. Working in different styles is incredibly satisfying for me, as creating a breadth to my work is extremely rewarding.

Sculpting a Stylized Character

I find maintaining cleanliness in the form is the most challenging aspect of making stylized models. A subtle shift going in the wrong direction in the normal or a tool mark in the wrong place can interfere with the nuance of the style you are looking to portray. I will try to explain my process in maintaining that cleanliness using creasing and dynamic subdivision inside of ZBrush. I start with a base mesh that is pulled from a base head which I previously modeled. I then use poly creasing and sub-d modeling to create the hard edges and subdivide the geometry to get the soft transitions. I slowly increment my subdivisions in the face, which will soften the edges and allow for uniform control of my edge widths.

For something like the shoulder pads I block out with two spheres, clipping them to create the shape. I then use the frame border in ZBrush to create a curve around the cut sphere, which forms the outside of the pauldron. I separate that mesh away and use crease tolerance to automatically crease the edges. I work the mesh to have the desired sun shape with soft transitions while maintaining its circular shape. Using creases also simplifies the geometry so equidistance is easy to maintain; I can crease where I need it and not worry about pinching along the inside of the torus.


Creating Hair

I use the curve snap brush with my own custom creased mesh. It has the intensity set as a bell curve, which forms the hard edge shapes, maintains a low poly, and gives very fast and clean results. From there I use the transpose tools and duplicate meshes to where I need them. When I am happy with the shape, I apply a bevel to the creases to give it softness. I am also using anisotropic on the hair to control the rollover of the highlight which helps give it that soft feel. The nice part about this process is you can often find parts of the hair that you don’t have to retopologize because of the cleanliness of the curve brush, saving time on later steps.

This is the mesh that I use in the example; I have a bunch of different shapes and sizes to create different types of extrusion.

Here are the brush settings that I use for the hairbrush. It’s very important to use weld points or else you will have a bunch of segmented mesh.

The use of curve modifiers intensity settings allows for different shapes and curves.

Using the brush intensity I can create different thicknesses of hair as well as using the transpose tool to inflate the geometry.

Sculpting the Hood

Like the shoulder pads, I start with a sphere, then sculpt it into a general shape and use a trim brush to create the forward-facing hole. With polygroups and trim brushes, I remove the sections I don’t want. I continue to trim out different sections of the holes in the hood and then, once that’s done, I begin to ZRemesh it until I get nice clean geometry. I then add in the holes and cuts using masks and the edge loop tool. The lowest subdivision, unfortunately, ends up on the dense side, and so a duplication and a ZRemesh to get the general shape followed by touch-ups in 3DCoat are needed to clean the low poly.


I use Substance Painter for all of the baking and texturing. I try to keep all of the materials very simple by not over-emphasizing details, which helps to maintain the cleanliness that I had in the rest of the model. To do so, I use a subtle layering of color fills with masks to blend between the colors, as well as using curvatures to define some of the glossy areas.

I am using the subsurface scatter settings in Marmoset to create the skin on my character. I play with the settings until it begins to behave in the light the way I want it to.


Painting the Face

I start with a paint layer, laying in the broad strokes. After that I paint the face similarly to how I paint the other assets, with a series of fill layers with masks in order to create a soft gradient.

I touch upon my export maps as well by exposing the channels in my texture set settings and adding them to a separate export. Where the pink and soft sections are, I paint my thickness maps to clean up or emphasize where I want the subdermis to show through.

For the eyes, I use the parallax settings with a simple height mask for the eye to create the sensation of depth that a lens would have. The albedo for the eyes is painted in 3DCoat and adjusted in Photoshop.



Set up in Marmoset is very simple. I find the tricky part is working on creating proper lighting. I start by setting my camera to Filmic. Then, with a single spotlight with nothing else on, I find the interest in my shadow shapes. Once those are found, I add in a fill light to remove the harshness of the shadows. This is a spotlight with a large shape to fill out the model evenly. Once that’s done, I bring the environment brightness back up and rebalance my lighting. Finally, I use a high-intensity hairlight on the back side of the character to outline their silhouette.

Thank you so very much for your attention!

Keegan Edwards, Character Artist at Sledgehammer Games

Interview conducted by Kirill Tokarev


Join discussion

Comments 2

  • chtuck

    Great work. Could you explain the polygrouping in the shoulder pad along the edges ? What is the point if you crease by tolerance and not polygroups ?



    ·5 years ago·
  • Lloydo6

    Very cool thx for sharing



    ·5 years ago·

You might also like

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more