Botanist Witch

Character Breakdown

Steve Lee


Steve Lee

Character Artist


Hello there. I’m Steve Lee, I am specialized in Character modeling and texturing.


The Botanist Witch was created during Weston’s CGMA course. My main goals here were to learn the hand painting process and to have a great portfolio piece.


Software: PureRef, ZBrush, Maya, mGear, Substance Painter, 3DCoat and Marmoset Toolbag 3 & 4.

References & Inspiration

The amazing concept is from Ian Su.

In my PureRef, I have lots of references that I collected along the way. They were separated into four sections for different phases.

1. Modeling
2. Clothing
3. Texturing
4. Lighting/ Presentation


Modelling Workflow

For blockout, I used Maya. Keeping the polygons low made my life easier, so I can use those as my final low poly and work my way up to high res without having to retopologize.

Once the blockout was done, I started sculpting the head. The key is to focus on the proportion and primary shapes. I used DamStandard, Smooth, Inflate and TrimDynamic brushes to create clean, stylized shapes.

Even though I was not 100% satisfied with the face (it was a bit too realistic and not young or cute enough) I knew I can address those in the texturing phase.



The braids took me a while to figure out. II looked up some tutorials to find the one that suits my case. After the basic shapes were done, I used the bend, twist and taper Deformers in Maya to give it a bit of style.

As for the hair, I modeled it in ZBrush with spheres and ZBrush’s deformer. This was a technique I learned from Danny Mac’s YouTube tutorial. And used DamStandard for further stylization.



For the rose, I modeled one petal, duplicated it, and scaled it a couple of times to mash it together. For its lowpoly, I kept the outer petals and replaced the inner one with a sphere. This way I don’t need to worry about bad bakes and have a better time painting them.

It’s pretty straightforward afterward for the hat, belts and clothing. I imported my blockout meshes into ZBrush and gave them a couple of folds. Most of the sculpting details were used later as guidelines for my hand-painting phase.



The only thing worth mentioning for UVing is that I gridified the hat’s UVs. It is a lot easier to tile the patterns with straight UVs.


Baking, I used Substance Painter. I named the high and low polys, then baked out two AOs (one for only self occlusion, another for everything occluded). I also baked curvature, position and world space normal maps for my next procedural texturing phase. With some quick fixes in Photoshop for minor artifacts.



In the class, Weston taught us to do the greyscale first before going in full color. I can quickly produce a good greyscale base using baked maps with procedural filters. I used three groups of layers.

The first one consisted of the AO generator, Raw Curvature, Top Down Gradient and a Light filter to give some subtle shadow.

The second one is just the values I color-picked from the concept and set them to multiply or screen to lay on top of the first group.

The final one is extra AO and Curvature. I also added a Substance built-in “Baked Light Stylized” filter, this one will pick up the metallic and roughness values and feed into the color.

Combining these three groups together, now we have a solid greyscale to import into 3DCoat for further refinement.

Proceeding into the hand painting stage (3DCoat), I started with the face since it didn’t look too good only with the bakes. While painting I also tried to find more references to see how others paint.

Put them side by side to judge how my values look in comparison. It was also enjoyable to see how fast the character can change with only a few strokes.

I don’t have any special tips for painting. But I think understanding how each material reacts to light is essential. Analyzing and giving notes to myself was also helpful!


This was still just greyscale, once it reached a level I re-import it back to Substance Painter for the first color pass. The Gradient Filter is great for generating the color, it takes the values from greyscale and turns them into the color of your choice.

I did the Color Gradient for all the parts with little adjustments, nothing too fancy. And it started to look pretty good.


After that, I went back to 3DCoat to polish and add color variations. To hint at where the light source comes from, I also painted in a more defined shadow and highlighted her face.

Polish and Lighting

Finally, for the presentation, I baked out some lights from Marmoset Toolbag 3. In this case, one key light and two rim lights. Imported them into Substance Painter and set them to ColorDodge and Screen. I also inverted the lights to use them as shadows to get more contrast. And that is it for all the texturing!


Rigging & Posing

Weston encouraged us to do some animation and rigging. Although I was initially reluctant, it wasn’t too bad once I started it. We used mGear for rigging, which is really easy even for my crappy rigging skills.

For her animation, I listed out all her possible personalities: shy, optimistic, thoughtful, etc… And tried to find some references representing those traits. I found the idle animation collection from Genshin Impact and an interview with Rooney Mara from Conan’s show.

These helped me to have a rough idea of how to pose my character and display her personality. Through trial and error and lots of tutorials, I got a somewhat okay animation out of it.



Overall, I really enjoyed the process of making this hand-painted character. It doesn’t have too many technical things I need to do compared to a realistic PBR character. So, I can just focus on the art side of things and paint, paint, paint.

For anyone interested in hand-painted characters, I strongly recommend Weston Reid’s course!

Huge thanks to Games Artist for publishing this article. And thanks for reading!