Jasper Ritsema shared the way he builds amazing stylized characters. He talked about sculpting, texturing, production of hair and general optimization.
My Name is Jasper Ritsema and I am a 3D character artist from The Netherlands.
I started my journey in computer graphics about 10 years ago, back when I was a 16 year old kid with a dream of becoming a 2D concept artist within the games industry. In order to pursue that dream I first joined a 4-year game design course at “Grafisch Lyceum” in Utrecht and after receiving my foundation degree I joined a 4-year Visual arts course at the NHTV University of applied sciences in Breda. Due to the emphasis on 3DCG and game development of the course I grew more accustomed to modeling and texturing 3D assets instead of doing 2D art and so I ended up shifting my previous goal of becoming a 2D concept artist to become a 3D character artist instead.
During my time as a student I’ve worked as an intern at multiple studios where I got to work on various games, including working as an Intern 3D Character artist in 2016 at Elite3D in Valencia, where I was fortunate to be allowed to do contract work for Call of Duty: Infinite Warfare. After which I graduated and received my Bachelor degree in 2017.
At the moment I am busy with creating new portfolio works as well as applying for jobs to find a place to start my professional career.
I started sculpting this bust a couple of months ago while I was working on another project. I was browsing Facebook when I stumbled upon a sketch by Johannes Helgeson which caught my interest. I love his work so I figured it might be a good practice to try and capture the same character aesthetics in 3D. At the time I had no intentions of turning the bust into a finished piece but rather just keep it as a quick practice sculpt and so I put it on the shelf next to some of my other sculpts that will probably never see the light of day. A couple of months passed until I revisited the file to tweak it a bit and figured that I might as well turn it into a low poly mesh so I could use it to practice texturing in substance painter for upcoming full body character projects.
Matching the reference
The most important thing for me while I was working on this model was to try and capture the same proportions and overall shape of the head and hair as in the drawing. Matching up my sculpt with the sketch was quite a challenge for me because I wanted to keep the face as symmetrical as possible whilst sculpting. But the head in the drawing is slightly rotated and tilted so instead of posing my sculpt to match the drawing I had to position, rotate and tilt my main camera in Zbrush as well as tweaking the FOV in order for the head to match the sketch. I had to constantly check my main camera perspective because any changes from another angle could effect the look of the main camera view.
The camera perspective in Zbrush is also a bit different from other 3D applications so in order to make sure that the sculpt matched the drawing as close as possible I had to export the mesh and check it in Maya and Marmoset Toolbag as well. Fortunately the differences weren’t very noticeable and I could match it by adjusting the camera settings in Toolbag.
Because the sketch was lacking any shading reference It took me some time to get the face to match the drawing. Particularly with the mouth, cheek and eye area because getting those volumes wrong could make her face end up looking like a bug-eyed alien instead. For example while I was sculpting the cheeks I had to make sure that it matched the outline of the drawing without adding too much volume which would cause shading to appear on surfaces I wanted to look more smooth, to give her face a nice feminine appeal. At the same time I couldn’t make it appear too flat because I wanted her face to look good from all angles. I ended up spending quite some time tweaking the sculpt trying to find a good balance between the two.
Figuring out the shape of the hair was another challenge for me because I only had one view from the reference to work with. So I could only match it from that perspective. I had no idea what the back looked like so it took me several attempts of sculpting the hair to try and make it look plausible from all angles.
After finishing the sculpt and baking the low poly I painted a quick directional map in Krita to see how the anisotropic shading would affect the look of the hair. It worked pretty well but it was looking rather flat and It didn’t have that nice “zig-zag” specular effect you’d expect to see on the hair. So in order to create the effect I wanted I ended up adding more details in the normal map.
I didn’t want to move back to Zbrush so I hand painted every single strand using the lazy brush in substance painter instead. I’ve added a small increase in height to the light strands whilst giving a small decrease in height to the darker strands. After that I added a blur filter to blend the strands together with the rest. This process is rather tedious but it gave me the effect I was looking for and the end result ended up quite nicely.
When painting the textures in substance painter I use a lot of separate layers and I paint everything using masks rather than painting directly onto the layer itself. This is because hand painting and blending colors in substance painter doesn’t feel very natural to me like it does for example in Photoshop. It’s a cumbersome way of painting but the advantage is that it does allow me to change anything on the fly without having to alter the rest.
For the skin I started by selecting a simple flat base color after which I added a red-ish ambient occlusion layer on top. Then I painted various colored skin tones on separate layers together with some subtle shadows and highlights. After that I added pores and skin patches using dirt, noise and grunge masks and paint in some other skin indifferences such as freckles and birthmarks to break up the skin and make it all seem a bit more natural. I also added a dirt/noise normal map to the skin to make it appear less smooth. For this project I didn’t bother creating a subdermis map for the skin, as I didn’t really need one.
I use the same method for texturing the clothing except I start with one of the preset fabric materials instead. I add a little bit of ambient occlusion to the albedo, paint in some colors and details such as edge wear and add some procedural masks to create differences within the gloss. The textures of this project are pretty plain and simple as I’m still learning how to create nice textures using substance painter myself.
All of the rendering was done using Marmoset Toolbag 3 together with some slight level tweaks in Photoshop. I really enjoy using Marmoset Toolbag because it allows me to experiment and tweak things with ease just by moving some sliders around until I get the result I’m looking for without having to wait for it to render.
For the lighting I picked an HDRI map from the list of presets and added a couple of simple area spotlights. I used one key light, one rim light, one light for her torso and another small spotlight to fake the specular gloss on her left eye in order to match the concept.
As for shaders I used basic materials using albedo/normal/metalness and roughness with some slight subsurface scattering for the skin, only using the sliders in marmoset together with a mask for her face and chest. I’ve also added a parallax map to the eyes to fake the depth of the iris and refraction of the cornea. For the hair I added anisotropic reflections using a direction map made in Krita , again playing around with the material sliders until I got a result that I liked.
The bust is roughly around 11 thousand polygons, I took some liberties by adding extra geometry to certain parts of the bust because it would be viewed from up close, so even though I have optimized it a fair bit already there is still plenty of room to lower the polycount even more. But for a personal project like this it is sufficient enough for me. As for textures, I have used two 2k texture sets, one for the hair and another for everything else.
If I were to take this bust and turn her into a full-body character model I would probably aim for a polycount between 20 and 30 thousand tri’s. I’d give her face a more neutral expression that is suitable for rigging and animation, and maybe use blend shapes to capture the same facial expression instead of sculpting it directly into the model itself. I would also use more texture sets so that I can easily make changes to specific parts if needed. But for now these are just ideas that I’ll take with me when I’m working on my new character models instead.
Thank you for reading this interview. This project was a fun practice for me to improve my workflow for my upcoming character projects, and I hope it explains how I created this bust and perhaps helps anyone who is currently working on something similar. If you have any questions feel free to ask!