3D Character Artist Magno Coutinho walked us through the Priestess project, sharing details about the creation process, and explained the workflow behind the stunning outfit made using ZBrush, Maya, and Substance 3D.
Introduction
My name is Magno Coutinho, I'm a Character Artist who's currently working at Compulsion Games. I've been a 3D Artist for almost 10 years and a Character Artist for the past 7 years. I didn't have any formal training to get started in this career and acquired my knowledge through online classes, YouTube videos, and a lot of hours in front of my computer.
Since I was a kid, I've always liked to draw and play games. I remember always paying attention to games' visuals and wanting to play titles that were visually impressive for their time. So when I had my first experience with 3D modeling, I fell in love with it, and I knew I had to try out having a career in it.
Before this project, I worked with many clients as a freelancer. The biggest one that comes to mind is Ubisoft, which I worked with for a few months, and my previous job was as the Art Director of a small startup company. I've also been a happy member of the Agora Studio community, which brought me many cool opportunities, including the job I'm in right now.
The Priestess Project
This character started as the main project for a Game Character course I took with Igor Catto at ICS (Innovation Creative Space). Although I've always loved games, my previous experience was more related to VFX, so when I joined Compulsion Games, I felt like this would be a great time to take this class and learn from one of our industry experts.
My goal was to learn how to make nice-looking characters for AAA games of the current gen, as well as enhance my modeling workflow and design process. I noticed my portfolio was getting a little too much on the heavy side with my last characters, such as a Gladiator and a Gorilla Warrior. So I decided to create a more delicate character, drawing inspiration from my passion for Fantasy Art. This led me to create a priestess, for which I didn't follow any pre-existing design but rather drew upon many references to give me ideas.
The Workflow Behind the Head, Face & Outfit
For my whole design and high-poly modeling, I used ZBrush. Almost everything started from a sphere using DynaMesh. I like the freedom that comes from blocking with a sphere, it's a very basic shape, and you don't get attached to it, so that forces you to be loose and only think about the big shapes first.
I begin by trying to establish the main design elements and rough proportions. At this stage, I allow myself to be very loose, so I can freely explore different options. As soon as my rough blocking starts to look interesting, I begin to refine each element. Every piece consists of the same process – rough blockout, design iterations, and then high-poly sculpting.
As I progress with the high poly, I'm still going to make changes to the design of some elements if I feel they're not working. One that changed quite a bit was the skirt, which I had a very different idea at first.
The face is one of the last elements I refine when working on a character like this. Once I begin to refine the face, I'll look at scans for anatomy references and photos of people with interesting faces, but I try not to match any of the references, and instead, I combine different elements to design a unique face. To add micro skin details on this character, I only used default ZBrush alphas, and a nice trick I like to use is masking by curvature and then inflating a little bit some regions to make the skin pores more noticeable in some places. I also try not to go crazy with skin details for a delicate character like her, as heavy skin details could age the character.
A few elements that might be interesting to highlight in the process:
- I started the earrings from a plane and painted a mask on it, then extracted them to give thickness. Everything else is just rings duplicated to make the connections between pieces.
- For belts, I usually start with a cylinder with no caps or a curve flat brush. Either way, I try to have something very low-poly, so it's easy to control. I also like to use the Dynamic Subdivision feature with thickness to see something closer to the final look while I'm blocking.
- For small details like the belt buckle, I just start from a sphere and slowly refine it to get the look I want. I used a combination of the standard brush and Dam standard, and I also like to use the Clay Polish modifier sometimes. Once I'm happy with the blocking, I usually run ZRemesher to have a topology that is easier to work with, which also gives it a little polish. Then, I refine anything left by hand.
Retopology & UVs
I use Maya for my retopology and UVs. I export a decimated version of the high-poly mesh from ZBrush to Maya, then I use Quad Draw to create my low-poly mesh. I try to have a flow that makes sense for the deformations the model might have, as well as preserve the silhouette of the high poly as much as possible.
A tip I can give to anyone having a hard time keeping their models low-poly is to avoid creating polygons that are too small in relation to the other parts of the model. A consistent medium size should cover most details and preserve the final mesh with a reasonable polycount.
Also, something I learned from Igor Catto is to trust the Normal Map. There's no need to have every little detail in the topology; the Normal Map can make things look very high-poly even if the topology is simple.
For the UVs, I limit myself to 8 UV sets or 8 UDIMs with 2K resolution. This forces me to be very aware of the way I distribute my UVs. I try to overlap whenever possible and straighten my UVs for maximum usage of the UV space.
Texturing
I did all my texture in Substance 3D Painter and surfacing in ZBrush. I like to mention the surfacing in ZBrush because I consider that to be part of the texturing process as well, a very important part, actually. Since, when texturing, I usually rely on Curvature and Ambient Occlusion Maps a lot. The better the high-poly model is, the better the results I can get, and this aspect is often overlooked.
I'm not really a fan of using scans of photos for texturing, so the skin and everything else in the character were made from scratch using a combination of procedurals and hand-painted details, as well as, of course, smart masks.
My process usually goes as follows: I add base layers to define the main color and material properties of each element. Then, I add a few breakup layers with procedural Triplanar Maps. Lastly, I add details based on the high-poly mesh using smart masks like Metal Edge Wear and Dirt. When needed, I paint in some details by hand to add more complexity to my textures and break up the procedural look.
Rendering
I rendered this character in Marmoset Toolbag, which is a fantastic little tool I can't recommend enough. The first thing is to turn on the Ray Tracing on the render settings and find a nice HDR. Most of the time I begin my lighting with SkyLight (HDR) to quickly have something that looks realistic. I spend a lot of time just cycling between different HDRs to find the one that better suits my character. I'm thinking about personality and mood for this, if the character is happy and cute, I'll try to reflect that with bright colorful lighting, for example, and if it is a dark devilish character, I'll try to keep it darker and sober in the lighting as well.
If the HDR gives me a look that I find interesting, I'll often only add one or two other omni lights to review some areas that might be too dark or create a Rim light to separate the character from the background. That was initially how I lit this character, but by the end, I found a really cool HDR and ended up using just that HDR to light most of the final images.
Conclusion
This character took me longer than usual. For this course assignment, I worked on it throughout the whole course, stopping to make a few things in between. I can't be precise how many hours I worked on it, but I made it over 6 months, and it was certainly a lot of hours.
The most challenging part for me was the hair because I didn't have a lot of experience with real-time hair before, and her hair was not on the easy side. For beginners, my advice would be to be patient and brave at the same time. Don't be afraid to engage in a challenging artwork that you have no idea how to make. That's how you'll learn the most and grow faster. Be patient with yourself, knowing that speed is not important when you're starting out, and that failure is part of the process.