Manu Herrador has talked about his recent Jill Valentine project, discussed the modeling and retopology, and touched upon the texturing process in character art.
My name is Manu Herrador and I'm currently working as Principal Character Artist at Saber Interactive. I've been in the industry for about 8 or 9 years and in the last years, I've worked on games like Metroid Dread, Metroid Samus Returns, or Spacelords.
Since the last 80 Level interview, I've been working as a freelance for several studios including Pendulo Studios and Out of the Blue, and the last year I joined Saber Interactive to develop Evil Dead: The Game.
Jill Valentine Model
I decided to create the Jill Valentine model several months ago, in the free time I had left after the work, mainly with the intention of improving my real-time modeling skills and to test Unreal Engine 5 since it had just been released in Early Access. I chose the character of Jill Valentine, but instead of making typical fan art, I wanted to make a more mature version of the video game model. I wanted my Jill Valentine to be around 32-35 years old and reflect in the character all those years of survival and fighting against zombies.
For that, I took references from Milla Jovovich or Lauren Cohan, who plays Maggie in the Walking Dead TV series. I think they could fit perfectly with the idea I had in mind. I also took a lot of references of the female body, hands, etc.
Besides taking these references, I collected many more references of clothes like jeans, tactical boots, also the equipment that Jill wears during the game such as the Walkie Talkie, the leg gun holder, the elbow protections, the weapons, or even the Racoon City police badge.
As the project progressed I expanded these references in PureRef, which is a great program for organizing references, and I also introduced pose references for the final scene, lighting set references, topology references, etc. Everything that I thought could be useful in the project.
In addition to this compilation of images for my references, I also created a folder where I was keeping resources that I thought I could be necessary, such as ZBrush brushes, alphas, materials for the texturing part in Substance Painter, etc.
Sculpting the Body and Face
I started from a BaseMesh that I usually use for my projects. The first thing I did was to quickly adapt the volumes and body shape to what this adult version of Jill would look like. Then, but before starting to detail and work more in-depth on the model, I cut the base mesh in two different subtools, head and arms. I removed the rest of the body mesh. This way, I could work independently on each part and what is more important, take advantage of the maximum resolution of each mesh, being able to put more levels of SubDivision and thus making sure I could put all the necessary microdetail.
I started to work on the face and I was seeking the main shapes using generally Move and Dam Standart brushes to mark the volumes and features similar to Milla's and Maggie's faces. At this point, I worked with a very low SubDivision level to make it easier to modify the mesh. When I was happy with the result I SubDivided the mesh a couple of times and opened ZWrap. This plugin automatically adjusts one mesh to another. Here I adapted a plane with a loaded texture of an XYZ face to the shape of Jill's face. Usually, it doesn't fit right the first time, so you have to adjust the mesh a little more by hand, with the move brush and projecting again to adjust it well. This process usually takes a couple of iterations until it is well adjusted.
With the displacement obtained from the XYZ map I had the face much more detailed, but I still wanted to work more on the model. I added another layer and sculpted more details such as wrinkles in the parts around the eyes, some more pores in the areas that were less detailed, freckles, some pimples... things that make the model more realistic. I also worked some more on the lips area to make them more fleshy and fixed parts like the neck where I hadn't projected anything from the XYZ map. For this case, I used the Dam Standart, Inflate, or Standart brushes again, and I also used other brushes like the CG Sphere Skin Kit, as well as some alphas with information about pores, wrinkles, etc.
I usually buy these kinds of resources in stores like Gumroad, ArtStation, or Flipped Normals, it is a good investment because with these kinds of brushes you will go much faster in the work.
When I was happy with the sculpting I just needed to finish texturing the model. We already had a lot of essential information that we had obtained from the XYZ map, but I still had some empty areas that I had to texture with the Polypaint. I searched the 3dsk libraries until I found a series of images that looked similar in terms of skin tone, and used it to texture those parts of the rest of the body without color information. In this case, I used the Spotlight tool, in which you can load the image you want and project it to your mesh.
Clothes and Accessories
As soon as I had the volume of the body almost defined and I knew it wasn't going to change too much, I made a blockout with all the elements that the character has to see how they would work together. I made very basic meshes of the clothes with the extract tool of ZBrush, and for the assets, I modeled a few boxes and geometric objects to use as placeholders for the belt, the belt pockets, the gun holder on the leg and chest, the walkie talkie, the weapons, etc.
When I was happy with these meshes I exported them back to ZBrush and put them together with my model. I cleaned them up by doing a ZRemesher and sculpted all the necessary details, such as some extra tension wrinkles on the jeans, the stitches on the shirts, modeling the pockets, adding the buttons, and things like that. I also didn't want to work on the micro-detail of these fabrics, I would do that later in Substance Painter during the texturing process.
For the hard surface objects like the Walkie Talkie or the gun, I modeled in 3ds Max some very simple meshes with the shape of these objects, then I played with the smoothing groups and the Turbosmooth modifier to SubDivide a couple of times these meshes, with the option to separate the smoothing groups activated. With this method we got a very dense polygonal mesh, which I exported to ZBrush to continue working on it in an easier way, smoothing some areas, sculpting details such as scratches, screws, etc.
The workflow I used to create the hair is the one I learned from a tutorial of Georgian Avasilcutei. I really recommend taking a look at his Twitch, he is doing live streams while working on his models, and it's an amazing source of learning, as he is teaching the methodology he uses in production.
The working method to make the hair is to create a few strands of hair with Hair and Fur in 3ds Max and render them to get the Diffuse Map, the Depth Map, the Alpha Map, etc.
Then you would have to create some haircards assigning this texture, link each hair card to a spline, and place them carefully to create the hairstyle. It is quite a laborious and tedious task, but you can get amazing results.
Retopology and UVs
The retopology part is in my opinion one of the most important in the modeling process of a video game character. There is not a single way to do retopology, but you have to follow certain basic rules to make a correct and functional mesh. It is essential to put the loops in the right place, add more polygonal load in the areas that require it, and be clean is basic.
A good idea is to look for references for game models, for example in ArtStation there are many artists who upload screenshots of the wireframes of the models they have created for real productions, and having this kind of reference is very useful.
For this model, I wanted to make a model focused on the next-gen, around 100k triangles without counting the hair.
As for the UVs must also work well, in video games we have to optimize as much as possible the space as we do not have infinite textures and there are a couple of programs that help us a lot in this aspect as UVLayout or RizomUV. For this model, I used RizomVM because I had heard wonders about it but I had never tried it. It is very fast and manages the UV packing and has very useful tools.
I decided to use 5 sets of textures with a 4K resolution because I wanted the highest quality for the character. I separated it into the head, arms, top clothes, bottom clothes, and assets. Lastly, there would be another one for the hair textures.
Already with the UVs mapped, I exported the low poly model and the high poly model to Marmoset Toolbag, where I did the texture baking.
In the skin texturing part, before taking the model to Substance Painter and start working on it, I adjusted in Photoshop the texture we got from the XYZ map. I corrected some projection errors, adjusted and improved skin tones of some parts, and also added some more details, not only of the face but also of the textures of the arms and hands. I also worked on a Roughness base texture to have something to start working with later in Substance Painter.
With these textures, I created a project in Substance Painter and exported the model and the bakes of Normal Map, Ambient Occlusion, IDs, Position, Cavity that I had taken from Marmoset Toolbag.
As for the skin, as I already had a good base of the XYZ map and I had previously retouched it in Photoshop, I didn't have too much work here. I adjusted a little the skin tones, emphasizing the pink tones and adding procedural details like micro veins and micropores. I also added some make-up layers, to darken a bit the eyelids contour, redden the lips, and things like that. Most of the work on the face was to add layers of dirt, wounds, blood, and some extra things I hadn't done so far like a base for the eyebrows and adding a couple of freckles to the face. Also, another thing I worked on here was the SSS map to give more realism to the model later in Unreal Engine 5.
Once I had finished the skin part I started to work on the texturing of the clothes and the assets.
Generally, for each material, I follow the same structure: A base color with a specific Roughness, on top of this base color I add a couple of procedural layers to slightly vary the tone of the color. If the specific asset needs something specific, like for example the walkie-talkie keys that have a different word each, I create a group of layers with this.
If we are working on a textile material, I would add a layer with a pattern, whether it is nylon, denim, or cotton with Height and Normal information to give it Roughness.
On top of all this, I usually put another group of layers called Wear and Tear with a couple of layers of dirt, scratches, dots, wear, etc. For these types of layers, I usually generate them with smart masks, although in some specific ones I do it by hand to put the detail exactly where I want it.
Once I finished texturing the model the next step was to give it a pose to make it more attractive than the typical T-Pose and create a base where to put my character with some elements.
To pose the character I used the website Mixamo, which allows you to upload your model, then it makes a quick rig and you can even add one of the hundreds of animations they have on the web. I chose an idle animation that I liked and downloaded it to my PC, which I then retouched in ZBrush with the Transpose Master tool.
For the base, I had in mind from the beginning to make a street, a little piece of Racoon City. I modeled the road, the asphalt, and the sewer in 3ds Max, but to dress the rest of the base I used Unreal's Quixel Bridge to download models from Megascans. I added objects that you can find in any alley of a city, like a construction cone, some dirty cans, garbage bags, some cardboard boxes, and debris. For the materials and textures of the road and asphalt, I also used the Quixel library.
When I was going to light the scene I asked for help from my friend Guillermo Moreno, who is also a co-worker of mine at Saber Interactive. He created a blueprint that simulated studio lighting. As for post-production, it's not much of a mystery. I usually do this in Photoshop once I have all the renders out.
The first thing I do is adjust the levels, color tone, etc. with the Camera Raw filter. Sometimes I also add a Sharpen filter, very low, if for some reason the render has come out a little blurry or lacking in resolution. Finally, I like to add some details to the render like smoke, in this case coming out of the sewer, dust particles, glow and lens flares to the illumination points like the lantern.
The main challenge was to achieve a character with cinematic quality but fully functional in a videogame. This is getting easier every day thanks to engines like Unreal. Another challenge for me was to make the hair, I'm not an artist who specializes in this kind of task, and although it cost me I think I reached a satisfactory result.
The project took me quite a few months because due to my day job I couldn't dedicate more than a couple of hours a week, with many gaps in which I didn't work on it. Calculating now, I think it would be around 2 months for the complete character, maybe a little more due to the hair.
You may find these articles interesting