Camilla

Games_Artist_MAIN_THUMB_TTTC14
40

Aitziber Azkue

Character Artist

Introduction

Hello! I’m Aitziber Azkue, a 3D Character Artist originally from Caracas, Venezuela. I’ve written a couple of articles about my work before, so if you’re curious, you can find links to my articles on my ArtStation.

Project

The long and the short of it is that since leaving my Technical Writer job in October 2023, I’ve fully dedicated myself to learning 3D art.

I made this piece, Camilla, for the Advanced term during my time at Think Tank Training Centre, under the supervision of the fantastic Luis Omar.

This article will be a retrospective piece, where I share with you the things I learned about modeling armor, sculpting faces, and optimizing my workflow.

I have since become much more familiar with the Metahuman pipeline, but I will show you how I tackled this challenge at the time and what I would do today instead.

Those were some intense 10 weeks.

My first supervisor, Derrick Sesson, once told us that “you’ve got to be a little bit obsessed to make it in this industry,” and I took that advice to heart.

I poured a lot of love into this project, especially since I did a ton of things for the first time, so I’m really excited to take you through my process and relive the journey as I’m writing this retrospective piece.

coin_sit-scaled
coin_full-scaled
coin_close-scaled
closeup_mid_hand-scaled
closeup_loin-scaled

Goals

By the start of the term, I had already planned my Mentorship project, so my main focus was to learn how to create armor and improve my texturing.

I wanted to arrive at a trusty workflow that allowed me to create my assets quickly from blockout to texturing since I knew I was going to be making a lot of them next term.

I had chosen a different concept but decided to go with Sanha Kim’s concept art because the mood of their piece called out to me.

I felt that I was regaining a part of myself that I had lost after a difficult time, and I liked their concept’s powerful and determined vibe.

I was extremely lucky to be supervised by Luis Omar that term, so I also decided to include the character’s face from the start.

I’ve always admired his face sculpting, and I wanted to learn as much as I could from him.

This project was modeled and sculpted entirely in ZBrush, using a Metahuman face as a base mesh.

I used Maya for hair cards and retopology, XGen for peach fuzz, Fibershop for the hair textures, simulated the cape and pants in Marvelous Designer, textured in Substance 3D Painter, rigged in CC4, and rendered in Unreal Engine 5.5.

aitziber_azkue_gamesartist_39-scaled
overhead_close-scaled
torso_ta-scaled
chest_2-scaled
chest-scaled
face_ta-scaled
face_2-scaled
face_1-scaled
drama_close4-scaled
beach_new2-scaled
beach_new-scaled

References & iInspiration

As we all do, I started by gathering references.

I made an effort to search for references for each piece of the armor set so I could learn how they were made in real life and approach it similarly while modeling.

aitziber_azkue_gamesartist_1-scaled

I had chosen a different face at the start, but we decided to switch references early in the process.

One of the reasons was that the actress I first chose had had some plastic surgery done, and that could make it a bit harder to make a believable face in the end.

aitziber_azkue_gamesartist_2
aitziber_azkue_gamesartist_3
aitziber_azkue_gamesartist_4

Modelling & Sculpting

With references ready, I started blocking out each armor piece and the hair.

The hair blockout is very important for face sculpting, but also for planning the hair cards layout.

aitziber_azkue_gamesartist_5-scaled
aitziber_azkue_gamesartist_6-scaled

I did most of the face sculpting early in the project, which helped me set the mood for the character.

The most notable things I learned here were to pay attention to the forms of the nose, lips, and chin.

I wasn’t going for a perfect likeness, so I took some liberties. This face saw a couple more iterations later in the project.

aitziber_azkue_gamesartist_7-scaled

During this term, we don’t officially start this project until later, but our supervisor wanted us to start early so we could have the best outcome possible.

This meant that I had to split my time between assignments and my final, so I decided that I would do her groom during the hair card assignment to stay on track.

I created the textures in Fibershop and quickly got to work in Maya using GS Hair Tools. This was my first time making hair cards, so it was a steep learning curve.

aitziber_azkue_gamesartist_8
aitziber_azkue_gamesartist_9

Blockout – Hair Cards

I’d say the most important lesson here was to have a base as solid as your plan.

I ended up redoing a lot of work because I didn’t understand how to layer the cards properly without a ton of clipping and crashing, so it wasn’t always fun.

aitziber_azkue_gamesartist_14
aitziber_azkue_gamesartist_15

I’d say the most important thing here was to create separate layers for different types of cards and color-code them so I could easily identify and isolate any problematic areas.

aitziber_azkue_gamesartist_10
aitziber_azkue_gamesartist_11
aitziber_azkue_gamesartist_12
aitziber_azkue_gamesartist_13

Since the final face was a bit different, in the end, I made a few small tweaks in UE using the modeling tools, mainly to reduce some areas where the hair was crashing with the face.

aitziber_azkue_gamesartist_16-scaled

Now, when it came to the armor, I landed on a workflow that has served me well so far.

I like to create planes using Curve Flat and Curve Flat Snap with Dynamic Subdivision on and sculpt the planes to achieve the shapes I need.

I also use ZModeler to add, move, and even bevel some edges and edge loops so that pieces retain their shape when subdividing.

ZBrush has a different subdivision algorithm than Maya, so I found that in some cases, ZBrush favored what would otherwise be considered terrible topology in Maya.

I couldn’t escape Dynamesh, though, since I had to sculpt the lions on her shoulders. I also used it while sketching early versions of the breastplate, which thankfully never made the cut.

It was at this time that I learned that it’s important to have a clear direction if you’re aiming for speed and precision.

I later scrapped this design, not only because it wasn’t working for my character but also because the armor took a very different direction than that of the concept art.

aitziber_azkue_gamesartist_17

During some talks with my future mentor at the time, we agreed that there were some aspects that could be improved when translating the concept into 3D.

Luis and I spent some time looking for ways to make the armor a little more functional and realistic (or as realistic as fantasy armor can get).

We scrapped the helmet and the weapon and experimented with different shapes until we landed on something that matched the original design language with some improvements.

aitziber_azkue_gamesartist_19-scaled

The filigree was super important for this armor, so I had to make sure to get it right. The best method here was to use a custom curve brush to place the base shapes and then use Move Topological with AccuCurve enabled for the more intricate curves.

I also added extra edge loops where needed using ZModeler and creased the edges I wanted to keep sharp when subdividing.

I used the same curve brush and method for all the armor trims. The wear and tear were pretty straightforward; I largely used the Orb brushes and Trim Dynamic for this one.

aitziber_azkue_gamesartist_21

Clothing

The clothes saw a number of iterations as well, mainly because Marvelous Designer and I don’t always get along super well.

Luis helped me a lot with finding better references, and after trying a lot of different things out, I made something that I could later polish in ZBrush, where I’m most comfortable.

My main advice for this is to pay attention to the references you have and to use the materials in Marvelous so that you can get a better sense of how the fabric feels.

aitziber_azkue_gamesartist_20
aitziber_azkue_gamesartist_23
aitziber_azkue_gamesartist_22
aitziber_azkue_gamesartist_24
aitziber_azkue_gamesartist_25-scaled
aitziber_azkue_gamesartist_26

Staff

The staff was a cheeky addition since we had agreed to scrap it so that I had time for everything else. I spent a few hours making this prop from high to low poly and was quite pleased with the result.

I looked at Baldur’s Gate 3 staff designs for inspiration.

aitziber_azkue_gamesartist_27-scaled

Retopology, UVs & Baking

This stage was made easy by the fact that I had made my hinges and buckles low poly quite early on, and also thanks to a tip from a friend about starting your retopology using the trims as a base.

I wanted to stay within the 100k tris budget, excluding the face since it was a Metahuman base mesh.

It took a long time to retopologize the filigree; I wanted it to be a separate mesh so that it would have the highest quality possible. Having the low poly make sense for the most part from the get-go was very useful.

The rest was pretty straightforward, just your regular Quad Draw operation. In hindsight, I should’ve had more geometry on the loincloth to allow for better deformation.

The rule of thumb here is that you always want stacking geometry to either have the same density as below or to be higher on top.

This ensures that there is enough room and flexibility for when the engine calculates cloth collisions and deformation.

aitziber_azkue_gamesartist_29
aitziber_azkue_gamesartist_28-scaled

Materials & Texturing

I was brave enough to have everything in the same Substance 3D Painter project.

If I were to do this project again, I’d split my project into three parts: Head, Armor, and Staff.

aitziber_azkue_gamesartist_30

Something very important while texturing armor is to keep an eye on your metalness and base color values.

This is not the law by any means, but making sure that your base color isn’t too dark for metal will ensure that your armor renders properly in any lighting conditions.

Some darker fantasy armors don’t need to follow this rule, but you can also clamp your Metallic channel to 0.9 instead of 1 and use whatever base color you want.

I always use the built-in PBR validator in Painter and instance it in all my texture sets to make sure my values are correct.

aitziber_azkue_gamesartist_32

Another cool trick is to add variation in your Metallic channel.

Certain types of wear and tear can change the properties of metal, like how reflective it is and the types of highlights, and some of it you can really only achieve by adding variation in both Roughness and Metallic.

aitziber_azkue_gamesartist_31-scaled

Something I enjoyed a lot while texturing Camilla was the process of incorporating some storytelling.

Since I had strayed somewhat from the original concept, I decided that she’d be some sort of Warlock and that her staff emitted magical fire.

With that, I set out to create my own burnt metal material in Painter.

This material has separate layers that reference each other, adding different layers of colors that we usually find in burnt and ionized metal.

aitziber_azkue_gamesartist_34
aitziber_azkue_gamesartist_36

Below are images of my materials, burn material on silver armour and on a plain base.

aitziber_azkue_gamesartist_33
aitziber_azkue_gamesartist_35

When it comes to the face, a good base scan texture can only take you so far.

I added color variation for different zones, freckles, blemishes, and makeup. Looking at this today, I think I could’ve made the color variations more visible.

I also skipped the veins, which in past projects has been a great way of adding realism.

Something I learned in this project was just how much detail you can add to a face using Roughness. I used this channel, together with Specular, to add some more variation to the skin’s feel.

This was greatly complemented by the custom shader I made in UE based on the Metahuman material.

aitziber_azkue_gamesartist_37-scaled

I wanted to add a little more personality to Camilla and, since I have many tattoos myself, I thought it’d be a nice detail.

The design is from Planescape: Torment, possibly the best cRPG ever written (not sponsored!).

aitziber_azkue_gamesartist_38-scaled

To add the tattoo, I started with a base layer with the alpha in a very dark gray, added the height in a separate layer with a Blur filter, then added two extra layers to adjust the color of the ink and the skin around it.

Tattoos often have a bit of discoloration around and inside them. I also added a very faint mask for the entire tattoo layer folder, which helped break up the tattoo so it wasn’t fully saturated everywhere.

Rigging & Posing

I rigged Camilla using Character Creator 4. The process is quite simple, and it allows you to protect meshes that shouldn’t deform while making decent weights.

While I did have to edit the weights myself in UE afterward, the first iteration was more than decent.

Back then, I couldn’t figure out why my Metahuman face wasn’t working. Today I know it’s because I reconstructed subdivisions in ZBrush, which led to changing the vertex order of the mesh.

Because of this, I sculpted some blendshapes myself so I could make her expressions. I also had to go back and merge the left and right eye blendshapes to save time whenever I keyframed a blink or squint.

Today I would simply import the second subdivision to Maya and transfer the vertex order from the original mesh and use LiveLink, but hey, at least I learned how to work with blendshapes in Maya and CC4.

All of the poses started with some free CC4 poses and animations. I then tweaked them in UE using the Control Rig.

While the animations didn’t come out perfect and there’s some twitching, I’m proud that I figured this out by myself while doing so many things for the first time.

aitziber_azkue_gamesartist_40

As for the cloth sim, I used Unreal’s built-in cloth simulation.

I painted masks for each cloth mesh and tweaked the settings. This process was a bit long, with a ton of trial and error, but I’m happy with where it landed.

Rendering & Lighting

Early in my texturing process, I set up a lookdev scene in UE. I rendered something every day to track my progress and look at it on different screens.

I think this was very helpful since it kept me motivated and allowed me to make changes based on something that resembled a final lighting setup.

I rendered Camilla in the free Dark Ruins Megascans Sample project. This was a great challenge because the environment is massive and has several Post Process Volumes.

My trick here was to duplicate the level, delete all the PPVs, and add my own. I chose an area and tweaked the settings until I had something that worked for the shots.

I also moved a lot of meshes since I wanted to tailor the shots as much as I could within my timeframe.

aitziber_azkue_gamesartist_41

There are too many scenes to break down the lighting, but I’ll share my Post Process Volume settings.

I landed on these settings when I worked on Vammatar and pretty much use them all the time:

  • Enable Lumen in Project Settings and Post Process Volume
  • Ray Lighting Mode set to Hit Lighting for Reflections (UE 5.5)
  • Max Roughness to 0.8
  •  Lumen Scene Lighting Quality, Detail, and Final Gather Quality to 9
  • Played around with the Exposure Compensation and Shadow Offset values to ensure my scenes and shadows weren’t too dark
  • All lights set to Movable, enable Transmission and Deep Shadow. I set Samples per pixel to between 4 and 16 depending on their impact on the scene.

Just for lore value, here’s a video with 3 WIP shots of Camilla.

The water caustics made it seem like I had render artifacts, and my loincloth texture needed some work, so I scrapped these and worked on some improvements before rendering my final shots.

Conclusion

This was a project full of firsts. Even though going through this project today left me feeling like adjusting and tweaking and even redoing some things, I’m also really happy and grateful to have learned so much.

I’m most grateful for Luis Omar, who led me with honesty and trusted me enough to push me to be a better artist, and for Sriram Venkatesh, Alfonso Zambrano, and Connor Chin-Shue, who inspired me throughout the process and put up with my frustration through many Unreal crashes.

If you read this far and would like to check out what I’m working on lately, I post WIPs quite frequently on my Instagram account and keep my ArtStation up to date with my latest finished work.

Thanks for tagging along!

aitziber_azkue_gamesartist_39-scaled