Frédéric Arsenault shared the details behind his real-time character Wandering Knight made with ZBrush, Maya, Substance Painter, and Marmoset.
Frédéric Arsenault shared the details behind his real-time character Wandering Knight made with ZBrush, Maya, Substance Painter, and Toolbag.
Introduction
Hi there! My name is Frédéric Arsenault. I’m a 3D artist originally from Montreal but raised in Edmonton, Alberta. I moved to Vancouver, BC for school and have been living here for the past 3 years. In 2015 after years of deliberating, I decided to enroll to VCAD, a college in downtown Vancouver for a 3D Modeling and Animation degree and studied for a little under 2 years. A few weeks before my graduation, I began applying for jobs and got my first junior modeling position at Icon Creative Studio. I was able to work on a few Netflix original productions during my time there. In November 2017 I was recruited to EA for a character artist position and thus began my experience in the video game industry and have been working there ever since.
Project Inception
Right from the beginning, one of my goals with Wandering Knight project was to push my capabilities as an artist and push myself out of my comfort zone to produce something that I would normally shy away from. My actual main goal was to land a job at Bioware as a character artist and to move back to my hometown. I considered this my own version of an art test to apply for the position. Regardless of what happened, I wanted to attempt things I had never done before and to really explore what it meant to be a character artist. Driven by the goal of furthering my career and showcasing my abilities, I looked at this project and saw it as a way to do exactly that.
So, naturally, I got started right away and can say that I have learned a substantial amount of valuable information from this character. The concept had long been a part of my “Potential Projects” collection on Artstation and had always stood out. I immediately fell in love with the design and knew I’d have a blast with it… and I did! The original concept was done by the extremely talented Anna Kharitonova.
Sculpt
I was beyond excited and anxious to get started on this project and knew it was going to be a long one compared to some of my other art, considering my availability after work and regular life. I gave myself a strict schedule and made sure to work on at least one component of the character per night. Whether that be the shield, the sword, the clothes or doing stitch work on the leather, as long as I got something done every night, I’d be able to wrap this up at a decent pace.
I started the sculpt using a generic male basemesh and basically chopped the head off and started from scratch. Considering the head was the most important element of his body I wanted to focus on exploring his character through his face and leave the rest of the body anatomy aside for this. The main purpose of the body was to have a solid base to simulate clothes on in Marvelous Designer. I can easily say that I iterated many, many different looks for him until I finally settled on something I thought was a bit more realistic. I naturally tend to sway to stylized looks so this was a fun challenge!
Early on I was exploring a more stylized approach and tried to home in on the key features I noticed from the concept. His expression was key to figuring out who he was and what might be going on in his head. I find that it’s extremely important to really focus on details like their motivations and their personality as it will always help you push your models past the point of being generic. It’ll let people see more than just a model, but also the story you might get from looking at a guy like this or anyone for that matter.
After working on the head quite extensively I decided to leave it alone and move on to the rest of the components since there definitely wasn’t a shortage of armor and knick-knacks to get started on. I immediately brought the low-res version of the base mesh into Maya and started blocking out as many components as I could. Maya is my preferred modeling software and has greatly improved my speed and efficiency when it comes to quick iterations on props, gear, and other items. I had no specific order when creating these, I kind of just went with whatever I felt like at the time.
I started blocking out the clothes to sculpt on but realized that this would be a great opportunity for me to learn some Marvelous Designer. I did as much research as I could get my hands on in terms of learning but experimenting with the patterns and seeing what looks good and doesn’t, was really the best way for me to figure things out. I started with the hood since I loved the look of it and wanted to explore different styles. I eventually settled with something that was decent enough for me to sculpt additional details on in ZBrush. The same process applied for the cloak, shirt, and pants.
I would export out the mesh from Marvelous and import it into ZBrush as an OBJ. Considering the mesh exported from MD was not the right resolution I decided to ZRemesh it at a density I felt comfortable with which would allow for easy manipulation. I tend to work as low as possible in terms of mesh density(quads) to really nail the proportions of everything. This way I can place every element exactly where it needs to be with easy maneuverability whilst maintaining very workable topology. Using dynamic subdivisions in ZBrush is great for that, it’s basically like working in smoothed in Maya but instead of supporting edge loops to retain form and proper smoothing, I use creasing.
The meshes tend to look very clean this way but give a great sense of the overall picture. The chain mail was a tough one for me to do given that I had no idea how to approach it. At first, I created an overlapping chain mesh in ZBrush to be able to tile it using Nanomesh. The results were decent but due to some issues I did not know how to fix, it didn’t end up being the final product. I also attempted to bake the chain mail on to a low poly version of what the mail shape would be. Unfortunately, that didn’t give me the results I wanted either. Finally, I played around with some smart material I found on Substance Share and it worked great. I had to make some modifications to better suit the character, but it got me a good portion of the way there. To break up the evenness of the edges at the bottom of my mesh I painted out the alpha to give the impression of missing chain mail links, which created a more natural feel. Once all this was done and all the elements were blocked in, then I was able to move on to everyone’s favorite part…. detailing!
Now that I have all the components I need for the main body I go ahead and start chipping away at the detailing. Going off of my schedule I mentioned earlier, I worked on one asset a night (sometimes more, sometimes less) and added wear, scratches, tears, bolts, buttons, folds etc… I was doing my best to evaluate every piece on its own and really establish a grounded feel. I wanted to think about everything’s purpose and its story: how it got used, what state it be would in given its lifespan, and things like that. Doing that kind of digging will help you really ground it in reality and make your model stand out among a vast range of other projects you see on a daily basis.
Now, considering the travel gear is mostly hidden in the concept, I had to come up with something that fits within the realm of this character’s life whilst retaining a strong sense of organization. Planning where everything went and what to use was both really fun and utterly daunting. I’d say that throughout this entire project, my research did not come in handy more than with this travel gear. I was able to find out things I never knew about these types of characters. This helped me lay out a rough block out for the components I wanted to include and allowed me to add more and more personality as I went along.
Retopology
This was the part I was the most excited for, and no I’m not crazy! Retopology and UV’s are some of my absolute favorite steps in character creation. Exploring topology puzzles and the zen nature of it all fits right at home with me and my love of making art like this. It’s relaxing, very educational and helps promote problem-solving.
The goal here for me was to create a functional low poly mesh while being able to keep as much of the silhouette breaks as I could. I knew from the start that I wanted to stay in the realm of around 50K tris or under, so with that goal in mind, I started the process. I would decimate my high res mesh from ZBrush and bring it into Maya and use the Quad Draw tool for drawing out my topology. I wanted to make sure that I wasn’t including more topology than I absolutely had to, so I limited my poly count to what was actually visible.
For the head, I only topologized the visible areas and basically applied the same method throughout the rest of the character. I decided I wanted two 4K tiles for the entire character and proceeded to color code my meshes with basic lambert materials to get a clearer visual representation of what objects are being placed together. I went through many different methods of the organization but finally settled on splitting the character with his armor and clothes since as a base character he would never change. The gear was put on a different texture set as I thought perhaps if things changed, it would most likely be the type of sword, shield, and gear he would be carrying with him. This way the UV layout will never have to change for the body and can be left alone.
Hair
As this was my very first attempt at hair cards I did not want to waste too much time and tried to find really reliable resources and tutorials for the creation process. I was recommended by a friend from work to check out Adam Skutt’s amazing real-time hair card tutorial he found on Artstation. This was basically the main source of knowledge for me and I can easily say that going forward I can confidently create and experiment making hair cards utilizing the tips and tricks he taught in this very instructive video. The short course goes over how he generates the hair using Xgen within Maya which was then converted to a texture and then hand placed on the model. I can’t say that the process was very fun to do but it was a great learning experience and I’m very happy to have gone through it and highly recommend it to anyone looking to try out real-time hair.
Baking
Once all the topology and UVs are done, I moved on to baking the components. Now, the goal of getting clean bakes for me has always been about proper naming, bake groups and having a solid match between your low and high poly. I had quite a bit of baking experience using Marmoset so I knew what I could get away with baking into my meshes and not having to include in my topology. In some cases, I was quite aggressive with what was baked information and what was actually topologized, which really helped me keep a low poly count.
As I said before, the main goal is to make sure silhouette has priority. It’s crucial to make sure that at all angles your model has minimal noticeable faceting. This will show up most in round objects so sometimes you have to add a bit more divisions in those areas. Also, keeping in mind proper flow and consistency of mesh density across all objects. Now I’m not going to get into all the details and steps for proper baking as that takes a lot more time to explain but what I will say is that you really need to be patient and look at all the intersecting points and to make sure there are no artifacts and weird self-projections. That’s where the naming and proper organization using bake groups comes into play. Marmoset has made it very easy to keep things in order and to facilitate your baking process. It’s also really nice for iterating on light setups. Once all bakes are done, I export a normal, AO and material ID map from Marmoset. The material ID map is nice since it helps you select the components you’ve baked on such as stitches, bolts and little repetitive pieces that would normally take very long to hand paint within Substance Painter.
Texturing
Now that the baking is all done, and I have all the maps I need to start texturing I prepare my scene for Substance Painter. I export an FBX file with all my meshes from Maya and since both sets of parts (body and gear) were given individual lambert materials they will be recognized as two separate texture sets within Substance Painter. In the “New Project” window I chose the PBR – Metallic Roughness preset and plug in my exported FBX from Maya and then I also add all the baked maps from earlier. You’ll notice I import a gradient map as well which I create in ZBrush. It is a black and white value given to all pieces of the character which I then use to overlay on top of all my materials at a lower opacity, roughly 30-40%. This map helps give the base colors a bit more variation and can really help your materials feel more grounded.
Once created I proceeded to bake the remaining mesh maps such as world space normal, curvature and thickness. I also use my gradient map as a position map so I’m able to exclude it from baking. I’ll change the parameters to my liking and make sure to use a high-resolution bake setting. I’ll typically change some values in the curvature sliders as well as the thickness but other than that, everything is left to default.
My process for texturing is pretty simple but can require a ton of time and patience. I typically start with blocking in my materials and making sure they feel appropriate to the time period I’m trying to aim for. For this character, I wanted to utilize rougher fabrics, banged up metals and very worn wood. I wanted to really capture the idea that he had been traveling for quite some time and that his gear and armor would reflect that. I start layering on edge wear, cavity dirt, scratches etc. Like I had mentioned before, I needed to think about all the things these items were used for and how to motivate the texturing to its usage. I didn’t want to make it boring, so I told myself stories about his travels and what happened to him to create certain slashes, dirt clumps, and tears. The little components like the buttons and star shaped ornaments on his hood were all baked on, so I just had to use my material ID map to easily select them in my scene.
Texturing his face was also quite fun to do but can be quite time-consuming. It requires a ton of layers including base colors, mottling, freckles, red spots, cavity redness, different shades of yellows, blues and purples as well as stubble and potentially adding scars. A great tutorial for beginners is the Magdalena Dadela tutorial she gave at GDC 2017 for skin texturing.
Going into this project, I knew that I wanted to add very nice facial details such as pores and wrinkles but realized that the texture resolution would not have supported it, so I opted out this time. The baked information was doing a good enough job for me, so I left it.
After all the texturing is complete I then proceed to export my maps using the PBR MetalRough configuration as tiffs. Considering my gear and body were separate, I had to export them individually to help organize the maps in their respected folders.
Presentation
The presentation is one of my favorite parts as well since this is the time you really get to see the character in all its glory. I used Marmoset as I find it to be amazing software all around. I import my posed mesh which I created using transpose master in ZBrush into Marmoset and then begin creating materials and adjusting them according to the different types. Leathers will be handled together as well as metals and so on and so forth. I begin with picking the right HDR environment setting because I wanted to make sure the environment I used would have a close color pallet to the setting I would be placing him in.
I tend to not really do anything crazy when it comes to lighting as I’m no expert, so I just do what looks right to me. I start with placing a main key light until I get the proper shadows followed by a fill light and rim light. In this case, the fill light helps to create a bit more warmth to the scene as I pushed the reds a little more than usual. I then added two orange/red rim lights on either side behind him until I really liked the highlights they were producing. I included some floating particles which were basically created by scattering single faced planes and using a dither alpha in the material setting to blur out the color I had given it. I thought it gave it a more “fantasy” vibe which was great. It’s not much at all but it added a little something extra which helped the composition out.
I would say that the only trick I really used that I don’t normally see people using within Marmoset is the gel tiling map input within the light setting. This is what created the subtle tree shadow on the front of the character. All I did was found a black and white alpha of a tree on google and plugged it into the gel tiling slot for the main light and played around with the positioning until I was happy with the result.
Conclusion
Overall, this project was an incredible learning experience. Not only from the information I was able to absorb but also from what I did wrong. I find that failing can sometimes be more rewarding than succeeding in the long run since it helps you explore different solutions and can really help promote problem-solving, which in turn will make you a better artist. I came across a ton of issues in the process but handled it with patience and understanding that I was learning. All I wanted to do was create an amazing real-time character and to be proud of what I was able to accomplish. Making this character I was able to really push my modeling abilities and overall skills as a character artist. Going from initial block out, to Marvelous Designer, sculpt detailing, utilizing proper game topology, hair cards, baking, texturing and then finally; presentation. This was by far the most rewarding and probably the most beneficial project of my roughly 2 years in the 3D industry.
Thank you all for reading and I hope there was something to learn from this breakdown. I’m always happy to help fellow artists and wish everyone thinking of getting into the 3D industry the best of luck!
If you found this article interesting, below we are listing a couple of related Unity Store Assets that may be useful for you.