Annik Cherton talked about the workflow behind the Kiera of the School of the Fox project, explained how the hair was made with XGen, and shared some tips for beginning character artists.
My name is Annik Cherton and I’m a 3D Character and Prop Artist currently based in Montreal (QC, Canada). For my studies, I went to Algonquin College’s Pre-Animation program and later, the Animation program for a total of 4 years of study in the animation field. I was able to apply a lot of the knowledge I acquired there to my recent projects, notably from anatomy, posing, and character design.
I ended up graduating from Animation right as the pandemic began, which prompted my decision to further my education. I have been studying at Think Tank Online for the past 2 years, where I chose to focus on 3D characters and props for film, I have also recently completed my mentorship project for my last term. I don’t have any industry experience yet as I just started my first job in film at MPC, but I can’t wait to see what the future holds!
The Kiera of the School of the Fox Project
For my mentorship term, I wanted to make a project that meant something to me, so I decided to create a character that would fit within my favorite universe – The Witcher. I had been thinking a lot about the next armor set I wanted for various sword fighting-related activities, so I used that as a guideline to design Kiera’s outfit.
Some pieces of her story came together as I was working on the project. For example, I originally wasn’t sure which color I wanted her eyes to be, I hesitated between blue and amber, and I didn't know if I should've made her a human or a witcher. I started thinking of ways to use both for a more striking effect and thought, “What if her mutations didn’t fully work?” I know she should, in theory, be dead according to the original lore, but in a world of magic, almost anything is possible, especially with a process that has so many uncertainties. I decided to try to make her eyes look only partially mutated, which allowed me to use both blue and amber in an interesting way.
Another design element I hesitated about was the medallion. There are a few reasons why I ended up choosing the fox. Witcher schools use animals as their names because their fighting techniques and armor preferences are reminiscent of said animal. For example, the School of the Bear prefers heavy armor and values defense over agility, whereas the School of the Cat is the complete opposite.
When looking at the way I prefer to fight, I would have a hard time picking between the School of the Wolf and that of the Cat. Interestingly, the Fox school is a mix of both techniques. I chose it for that reason and also because it could give me more design freedom since that school isn’t part of the existing games. Furthermore, I mainly see fanart of the Wolf and sometimes Cat schools, so I wanted to pick something different, even if it is a fanfiction school. I also really like that the School of the Fox is one of the second chances and I felt like this would fit Kiera’s character well.
Once I knew where I was going with the project, I started breaking down every component I would need. I asked myself questions: Which actress did I want to base her likeness on? Did I want to make a female version of an existing Witcher armor or did I want to make my own? If it was the latter, which armor parts did I want to use? Which types of materials would I need? These are the types of questions that would guide the references I would search for. Once I had a good amount gathered, I organized them on a reference board (I highly recommend PureRef for this) and then started the concept art. It was a good way to visualize my ideas and give me something to start working from.
For her face, I started with sculpting a generic female face to get the basic proportions right. I looked at anatomy a lot to try to understand the muscles and cartilage and also which shapes remain visible under the skin.
I made sure to start with broader shapes and not get into details too quickly before the proportions and anatomy were right. As you can see in the animation below, it took me quite a few iterations before I got it right.
Once that step was in good shape, I started trying to work on the likeness of the actress I had chosen, which was Katie McGrath. I wasn’t trying to make a perfect likeness since I wanted Kiera to be her own character, but using actors/actresses as reference is always useful because you can easily find many angles of the same person. This helps a lot to understand how the facial features work in 3D.
As the final step, I slightly broke the symmetry in her face based on the references of the actress before starting to work on the displacement for fine details like pores and wrinkles.
If you happen to have a similar facial structure to your reference, you can use yourself as a reference for extreme angles that we aren’t used to seeing and that are difficult to find photographs of, such as top and bottom views. If you don’t, you can always ask a friend who is closer to your original reference to be your extra reference. This helped me a lot to understand and fix some areas of my sculpt, such as the brow shape.
I wouldn’t recommend mixing different facial structures or genders for your reference as men and women usually have some key facial structure differences unless you’re creating a character where either of those options would be relevant, of course.
The design of her outfit evolved a few times over the course of the project. This was due to situations like finding more interesting references or things not looking or working as well as I thought. My goal was to create a good-looking medium armor that would be as functional as possible while still fitting in with the well-known aesthetic of The Witcher games that CDPR created, so a few revisions along the way were to be expected.
My general modeling workflow usually starts with analyzing the asset in my head while quickly planning how I want the topology to flow and how to best model it. I keep my models relatively low poly and one-sided at first until I’m satisfied with the topology and the shape; this makes it easier to go back and make modifications. Once that’s complete, I add thickness and details. I use creases to be able to get a subdivision preview of my model before adding control edges as the last step. I use the bevel tool to add the latter and then correct what it generates if needed.
For most asset modeling, I’ll work in Maya from start to finish, but for assets that have a more organic shape, like Kiera’s fox medallion, I’ll start by making a sculpt of it in ZBrush. Once I’m satisfied with the sculpt, I’ll duplicate it and use the decimation feature. This will create a version of your sculpt made of triangular polygons which have been optimized to retain your details but lower the poly count as much as possible. This is important because if your sculpt is too high in the number of polygons, it will cause lag and potential crashes in the next step, which is bringing this model into Maya and drawing new proper topology on top of it using the Quad Draw tool. Once that’s done, I bring it into ZBrush to subdivide and project it onto the sculpt until it reaches a high enough polygon density to capture all its details. I use the low poly version in Maya and export a displacement map for the render, which will give the model all the details of the sculpt.
For small detail assets that needed to be made out of geometry, I first created repeatable patterns in Maya and then used various tools in ZBrush. I used ZBrush’s MicroPoly function for the grip of the sword to quickly create the braided wire wrap, NanoMesh for the chainmail, and IMM curve brushes for the stitches and string patterns. I made sure to make a few different versions for the stitches so I could have them spawn randomly and create a bit of variation. For the lacing, I used a combination of custom IMM brushes and ZBrush’s ZSpheres.
One of my favorite modeling tools is Quad Draw in Maya because it allows me to draw topology exactly the way I want it. Depending on the asset, I sometimes draw directly on the character’s body or a flat surface. I then use deformers to bend my topology into shape if needed and refine the details as usual.
There is also a plug-in that I use constantly, its averaging and straightening functions especially, called ZHCG Poly Tools. It allows me to be messy with drawing topology and very quickly make the borders nice and even once I’m done. I use the smooth function in Quad Draw afterwards to complete the clean-up process.
For clothing items, I use Marvelous Designer as a first step depending on the complexity of the garment. Creating the right patterns and fitting them to your model can be time-consuming, so when possible, I use real patterns as a reference or Marvelous Designer’s “Modular Configurator” as a starting point. Looking at similar clothing items that I own can also help to understand the patterns and how they are sewn together. After getting a simulation I’m relatively happy with, I use the techniques outlined in this handy guide by Olivier Couston to make a working model out of it. To speed up the retopology process, I recommend this plug-in by Derrick Sesson. Lastly, I sculpt some additional folds and make some shape fixes in ZBrush.
I wanted the hairstyle to be appealing but still practical for someone who is used to being in a fight at any moment. I originally wanted to pick a “Viking” hairstyle, but I needed to keep it simple because a groom can quickly become an entire project of its own. I decided to go with the half pull-back, which I think is a good balance between function and style. I used multiple different references that I liked as guidelines for the final look.
I used XGen to make the hair once I decided on the design. I set up several different descriptions to have more control: one for the bangs, one for the pulled back part, one for the “tail” of the pull-back which was growing from a hidden floating disk, one for the remaining loose hair, two for the short newer hair, and of course one for the eyebrows and eyelashes each.
I started by placing and shaping all the guides, then painting the density maps to tell the software where it should grow the hair, and lastly, added modifiers to refine the groom. I had to go back and forth between making modifications to the guides and the modifiers several times while also checking what it looked like in the render preview before calling it done. I kept my groom in a separate document and exported a V-Ray cache of each description to then render them in my main scene together with the rest of the assets.
To create variation and different strands in the groom, I used some simple code within several modifiers to randomly select sections and change their height and shape. I used the same technique to select random single hairs and frizz them up in various ways to create more noise in the groom.
Jesus Fernandez has a great free tutorial series on creating hair with XGen that was the foundation of the techniques I used, I highly recommend checking it out.
The Texturing Process
For the outfit, I chose this specific color palette consisting of darker tones so she could plausibly blend in with the crowds and wouldn’t really catch anyone’s eye in towns. I didn’t want to make the armor all black because I think the dark brown version is more interesting to look at and also more fun to make. I went with dark blue as her accent color because I like the way it looks with the dark brown armor and it’s also a hint toward the School of the Cat.
My favorite software for texturing is Substance 3D Painter. It can get a bit slow if you have many layers and/or models in one document though, so to keep my file sizes down and performance up, I split up my models in multiple documents and set the same export names and locations in each. No overriding would occur since I worked with UDIMs, so each texture map would get its proper tile number assigned. Once I was done with recreating a material, I saved it as a smart material to use on the next pieces in other documents. Only minor changes and redirecting of some masks were required, so it saved me quite some time.
My general texturing workflow starts with some organization. I break down which types of materials the asset will need, create a folder for each one and assign a mask for the corresponding regions on the models using the Polygon Fill tool set to UVs. I can soften or break up those masks later in the refining stages if I need, depending on where the UV seams are. I recommend planning and organizing your UVs to make this initial selection process easier.
For each type of material, I start with a “base” texture, which is usually either an existing Substance material or from a free open source like Poly Haven. I adjust the color of the diffuse map with a Color Match filter and then add one or two layers for extra color variation driven by a smart mask or a repeatable alpha. The same can be done for roughness variations. I quite like working procedurally to start with and pressing the “random” function in smart masks or rotating through repeatable alphas until I get something that I like.
After that, I use ambient occlusion maps as masks from the bakes to accentuate shadows and from texture maps to change the color of fine details. That technique helps with materials like the soft leather trim where I changed the color of the cracks and wrinkles. For more precise details, like the deep scratches on the armor, I paint masks by hand and adjust the settings I need manually in custom layers. If I add visible dirt, I do it last with some procedural masks and hand painting.
Sometimes, I don’t use all the maps from a “base” material and instead combine maps I like from multiple different materials. I did the latter for the gambeson because I liked the height map that had the diamond stitching but I wanted a different fabric texture. This can require creating a few masks and utilizing anchor points and modifiers. For example, to isolate the fabric from the stitches, I turned the fabric color to white and the stitches black and set the blend mode to multiply. This allowed the color from the other fabric to show through and I could then use an anchor point to point to this mask and use it anywhere I needed it.
For the fabric elements, I added repeatable folds and wrinkles textures from Surface Mimic. Depending on the look I wanted, I masked out certain areas or softened them with a Blur filter. For the very small stitches on the various garments, I used Substance 3D Painter’s default stitches brushes. These elements really helped get that extra level of detail.
Recreating the dye technique that my main reference artisan Soeurs d’Arme uses was my favorite of all the materials to recreate. I first started with a light color base made out of one of the leather materials from Poly Haven followed by a dark reddish-brown layer with some smart mask properties and a third even darker layer with very similar properties for the edges.
Once the gradient was made, I added more layers for the little black dye dots, adjusting the roughness, the light surface scratches, bumps, and indents. To create the holes for the stitches, I used a modified ambient occlusion map as a mask on a negative value height layer. As a final step, I added a height map from a different leather texture tiled very small to add a little bit of micro detail for the close-up shots.
To texture the skin, I started by using the R3DS Wrap workflow to apply TexturingXYZ maps to the model. I baked the maps with XNormals before using Substance 3D Painter to patch up and refine the textures.
I made the initial diffuse map lighter and desaturated it to get more of a pale witcher look. I then did some hand painting to bring back the color variation I had lost with the previous step and to add more tones such as the dark circles under her eyes. For the skin and pore details, I used ZBrush to create a displacement map. I started with importing the TexturingXYZ map I had baked and then patched up, extended and refined areas with brushes from TexturingXYZ as well as some others I liked from the ArtStation marketplace. I added a micro detail map in the end, which was a repeatable pattern once again from TexturingXYZ, to break up the space in between the pores.
I knew I wanted her to look a bit rough, so I wanted to showcase some scars on her face. I tried to think of which type of encounter would have caused them and how old each one should be. To give them variety, I chose to add the small one on her cheek as the oldest and added the fresh cut on her lip.
I started by using Substance 3D Painter’s new wrap projection function with their “Hypertrophic Wild Scar” material. This allowed me to quickly design and place them. Once I was happy with their position, I exported the height map and brought it into ZBrush for some extra sculpting. I made some overall corrections, added more depth and details, and sunk in the largest scar in the softer part of the face. This helped give the feeling that the wound was once deep in that area, illustrated by the slight curling inwards of the skin.
I went back to Substance 3D Painter to make a micro details map for the finer striations of the scarring and for the half-healed structures of the fresh cut on her lip. I used references to decide on each scar’s color depending on how old they were and made sure to match those colors with her skin tone.
The Final Renders
I used V-Ray in Maya to render this project. My lighting setup was relatively simple. I used two lights in a Rembrandt style, one for the face and one for the rest of the body so that I could control their intensities and slightly shift the angles independently. I had one extra high-intensity light that was bound to only affect the water line where the eyelid and the eyeball meet to get some nice reflections. I used two lights for the main rim light, one for the sword hilt and one for the rest. I also used two very low-intensity dome lights: one used as a general fill light to make sure nothing was in complete darkness and one that was imitating moonlight.
To enhance some shadows and add some depth, I used Photoshop to add the “v-ray dirt” render pass (essentially ambient occlusion) on top of the renders. I set it to multiply and lowered the intensity to 40% or 50% depending on the render. I masked that pass out on the hair either fully or partially though because it was darkening it too much in some renders.
For the background, I used Photoshop to combine a dark grey layer with a picture of fog, which I masked out the edges of to give it a bit of a vignette effect. I used some brightness/contrast layers to play around with the effect. To make sure the background fit well with the character, I added a recent test render on top while making adjustments.
It took me about 5 months to complete this project, with about 100 hours of rendering and a few days to compile all the renders into a portfolio piece and demo reel.
The eyes were definitely a big challenge because, unlike the other elements of the head, I couldn’t find actual references for them because witchers, of course, don’t exist. Since the books mention that a witcher's eyes have a cat-like glow, I ended up looking for references of cat eyes and spent a lot of time staring at my cats’ eyes as they went about their day, observing how the light interacted with their irises. I tried to imitate the reflection I found they have and enhanced it to give them a more supernatural look. I went back and forth many times between the texture of the irises and the shader settings before arriving at the final iteration.
My main challenges were all part of the head, from parts of the face itself to the groom. I probably spent more than half of my time on them as there was always one more small detail to fix. The last 5% of a project is always the hardest since it feels like you’re sinking countless hours in for minimal return, but in the end, if you look back at your previous iterations, you realize that the return was far from minimal.
My tips for beginning character artists are:
- Research your subject matter, understand it, and then allow yourself to modify it. For example, for medieval fantasy, look up historical armors and weapons. What do they look like? What makes them effective? How are they built? Once you understand how something works, you can change it to suit your project. This will help you create something believable. This also applies to anatomy, for human and creature characters alike.
- Don’t stop gathering references. When you’re not sure what something looks like or you’re lacking inspiration, go find more pictures to fill in the blanks.
- Find references with lighting that allows you to see facial shapes and subtle features, so don’t rely on overblown or “too perfect” pictures for your sculpt.
- Listen to those who try to help you. Many of the techniques, tips, and tricks I mentioned here are accumulated knowledge from many mentors, not only trial and error and personal experience. Also, don’t dismiss someone because they have less experience than you, they might still know something you don’t.
Here are some useful resources you can use:
- HDRIs & textures: Poly Haven
- Moonlight HDRI: Poliigon
- Tilable knot patterns: ArtStation Marketplace
- Lip alpha brushes: Artstation Marketplace
- Skin texture & brushes: Texturing XYZ
- Fabric wrinkles: Surface Mimic
Annik Cherton, Character and Prop Artist
Interview conducted by Arti Burton
You may find these articles interesting