Marko Lazov did a breakdown of the character he created during the Bootcamp at Vertex School, shared his modeling approach to human anatomy and details, and discussed skin and fabric texturing process.
Hey, 80lv, my name is Marko Lazov I’m coming from Skopje, North Macedonia, and I’ve been doing 3D Character Art since 2018. Since I was a little boy in school, I was always drawing and painting characters from games and movies but I never made a commitment to become an artist in any field because I was focused on basketball. After finishing high school and dealing with the drama about going to university, I heard about a local academy for 3D called M3DS Game Design. I decided to skip the university and go there, where at the beginning, I wanted to focus on 2D Concept Art but when I saw what you can do in ZBrush, I instantly fell In love with it. I was sculpting characters every day for at least 5-8 hours and that lead me to become the student of the year. That was a good start but I knew deep down there is so much more about Character Art. The next year I spent mostly on studying all about the pipeline and doing some freelance projects for Indie Developers. At the moment, I'm part of multiple projects that are developed and outsourced by Slipgate Studios and Ophion Studios.
About the Bootcamp at Vertex School
I decided to take part in the Bootcamp of Vertex School because I felt like an artist with a lot of loose ends and unanswered questions. I loved the progression that a lot of the alumni at Vertex school had and I knew it was the right path for me so I can fully learn the pipeline, the tips, and tricks from the mentors which will get you closer to reaching your North star (your dream studio).
While I was searching for a concept for my capstone project at Vertex School, I had trouble locking on one character because there are so many beautiful illustrations, but I had a talk with my mentor Ryan Kingslien, and we decided that the concept of Piotr Krezelewski was the right one because it was the perfect combination of cloth, leather, emotion, color palette. Once I was locked in, I immediately started gathering references for my PureRef scene. What I loved about the concept that it was made with rough lines and colors so you had a little bit of freedom to experiment in some areas like the armlet, the Gorget, knife holsters.
Having the concept and the PureRef scene ready-to-go, I immediately jumped into ZBrush and started with a rough blockout with primitives and extracts. I push the blockout to the maximum with some folds sculpting and painting the whole character just so I can visualize it in my head. ZBrush to me is probably 70% of my modeling time, and I rarely go into Maya to model something specific. I knew I had the outfit locked and wanted to make a realistic face and emotion that a lot of people will feel from the picture and get the idea that this is a bad guy, and he's the wrong guy to be messed with. Luckily, I had Ryan Kingslien next to me who to me is probably one of the best anatomy mentors to have next to you, he really taught me a lot about the planes of the face, the skull, where the skin hangs, where do you have wrinkles, the grooves, and the lines of the face. Having the base mesh head ready-to-go, I think it’s just a question of sculpting, time, feedback to get to the desired look for your face, you will have a lot of ups and downs but if you stick through enough you will always find the solution either you, your friend or your mentor.
Because this guy didn't have a lot of accessories, he was a fairly simple character I knew that I had to make the materials amazing to be realistic as possible. At first, it all starts in ZBrush by detailing the piece to look like leather, fabric, metal, etc. I use the standard brushes in ZBrush brushes like (Standard, Dam Standard, Slash 02). If you want to see more about the process, I would highly recommend you to watch Arno Schmitz's take on it on the ZBrush Summit Guerrilla Games. Once you are done creating the high poly in ZBrush and making the materials stand out just from the sculpt, the next big thing is the texture. I think people make mistakes here and try to make everything procedurally, and they don't put unique touches on it which is wrong to me.
I like to make my own materials with tons of color and roughness variations, value variations, wear, gradients, stains, etc.
- Creating a good base just by using good color and good roughness value.
- Adding a fill layer with a black mask with fill on it and adding a grunge map. I scale the textures a bit so it fits the model. I recommend doing the colour pass first. Once I have one fill layer like that done, I duplicate at least 3-5 layers, and I change the grunge maps, colors, value, and the channels of the layer.
- Once you have that, you can add a fill layer with a generator (gradient) and use similar colors to your base just to add more variation, also here, I add fill layers with bitmap mask that has curvature map on it, two of the maps are inverted and one is a regular curvature map.
- The same fill layer with grunge map that I had for the color passes I duplicate it, and I turn off everything but the roughness, and now you do the same with the roughness, go crazy with the layers just to have that believable roughness(in my case I had 6 layers)
- I add a fill layer with a generator (Position) on it, and I use it so I can make the leather to look like the sun damaged it, I also added the AO in a layer with fill in it and made the color black to give it a bit depth.
- Added some layers so I can add a bunch of stains from dirt, blood, etc. The final layer is just a mixture of color and roughness fixes that I had to do (color had low saturation, breaking some roughness maps)
- The wear and tear stitches are really easy to make. You need to take the mesh that you want to have the wear and tear. Select the outline edge of it and extrude it down. In Maya, select those faces and select Extract Faces. Sometimes, you don’t need some edges on that mesh so just simply get rid of them.
- After that, I put it directly in Painter, and I use the shader (PBR Metal Rough with alpha blending). Add Opacity in the channels and add a fill layer with zero opacity. For the stitches, this is the fill layer, and the brush is Chalk Bold. Start painting the stitches and put it in Marmoset multiple times just to check if you are satisfied with it. if you are not okay, ask a friend or the mentor if they are looking natural.
- In Marmoset, I made this shader for the stitches which is a really simple one.
Working on the Outfit
To me, the most challenging thing I had to achieve in terms of modeling the outfit was making everything feel like the right material (the weight, different wear and tear between materials, different creases). The best way to make this work is just a ton of references and studying the materials on how they behave. A good exercise is just taking a sphere in ZBrush and try to make it look like it's made of leather or fabric. I would highly recommend buying Jonas Ronnegard's ZBrush - 35 Seam Brushes.
- Take a regular sphere and just divide it a couple of times.
- If you are using some seam brush, make a random pattern(I use seam_14)
- Start with the Dam Standard and Standard brush and create some interesting zig-zag lines that feel natural without using symmetry. Use References!
- I really love the Leathery Skin Alpha 99 that's inside ZBrush by default, but you can use anything that you want. Create a morph target on the highest division and start applying the alpha on it (don't worry if you cause a mess with it). Take the morph brush and just go on the surface and try to make interesting patterns and details that would look natural.
- Use the Slash2 Brush with 20 intensity and start to create the wear and tear at the edges of the seams. After that is finished use the Standard brush just to push the wear more
- I add the default surface noise inside of Zbrush and tone it down really low just to break the specular a bit, then using the Dam Standard and Standard brush I go back and forth in the subdivisions and just try to add some sort of aging on the leather(I use lower subdivisions because it softens the edges of the brush strokes and makes them more smooth and flowy). You can push it so much further and try different workflows just by changing the settings of the brush. Really great exercise to find your wanted workflow.
One of my biggest challenges in terms of materials was making the skin shader to look real. The first step was to nail the highpoly by using Texturing XYZ map + Alphas. I went back and forth a lot of times because sometimes it was too noisy or too flat, and it wasn't showing on the head when I use Subsurface. Once I achieved the look I wanted for the highpoly, I baked all of the maps and started to make the base color. I used killer workflow from texturingXYZ for this, it's pretty straightforward. I only wanted a good base so I can put it in Substance and start painting it myself.
- Base projection from texturing XYZ.
- Added blue, red, yellow, and green layers and started painting the zones(I used those pics as a reference).
- Because this guy was a thug, I wanted to represent this on his face, so I added a purple fill layer and started painting the eye bags. Also I added a couple of moles and stuff like that just by creating a simple layer with color, height, and roughness.
- Adding the beard fuzz with the Swarm brush from Substance Painter. This layer contains just dark gray color, 0.1 height, and roughness 0.8.
To push the pores and wrinkles a bit, I added a layer with curvature bit map mask and made it dark red (never leave it like that, add a paint layer, start painting and removing some of the maps to make it look natural not procedural)
- To really nail the character I had to make him a tough guy so I added a ton of layers for dirt, blood, sweat, bruises.
A lot of people asked me about the scar workflow but it's really simple and easy.
- Create a layer with a color that is slightly brighter than the skin, add height, and make it a bit glossy. Paint your wanted scar(i would recommend you to use reference just to get it natural)
- Make a dark red layer, put it under the scar and start painting around it so you get the effect that is healing.
- Add a layer with a grunge map to the base color and copy the mask of the scar and paste it into the black mask of the layer with a grunge map. Put the channel in Soft Light at 30 opacity.
It's really important that you go back and forth with Marmoset all of the time so you can check how the material is behaving. Once you have the base color locked, you make the cavity map in ZBrush. In ZBrush, fill your mesh with a pure white color then go to Tools > Masking > Mask by Cavity. The default values should work just fine. If not, play with the curve profile to get better results. Lower the blur values a bit since ZBrush’s default values are too intense. You can change this under Preference > Transpose > Mask blur strength. Invert the mask and fill it with black, create a texture, and export.
SSS and Translucency are the maps that give life to your face. For me, I think the thickness map is a pretty good start for your translucency, you can tweak it later in Photoshop. Specular can be done with and without a map depends how much control you want to have, my specular is the cavity map just inverted with a bit of tweaking in Photoshop. The most important thing that is while making the skin shader is all about the tweaking of the maps, take pauses to refresh your eyes and make sure you get the feedback.
Sadly, my hair file is corrupted, and I only have the merged file so I can't demonstrate.
For the hair, I learned a new pipeline from one of the best Jansen Turk, which is really amazing and easy to learn. I would highly recommend you to check Sushan Manandhar's tutorial, which is free on YouTube/Artstation, and he covers the same pipeline from Jansen. To have nice hair on your model, I think you spend a lot of time just on the transition cards and the flyaways because it's really easy to get but that base needs at least 2-3 transitions to make it look natural. That's why I think that hand placed planes look way more realistic than some scripted made hair.
Working on the Details
I wanted to make this character as detailed as possible in the high-poly so I can get the highest details in textures also. For that reason, I spent all of my time in ZBrush and trying new things with the default brushes and alphas. I tried to stay in ZBrush in terms of modeling so I always find new tricks to model something.
For the knife holster, I used a shadow box option, draw the holster silhouette, and use 7 polish. After creating the mesh, I'm using Move brush to adjust it and make it correct. Mask the area where the knife should fit inside and use inflate balloons in the deformation settings. Then I use zremesher with the default settings just to get a clean topology. I use the Dam Standard to make the stitches fit in the right place. With the seam 3, I add the stitches(take your time make it fit nicely). When I create a pattern, I always use the reference just to have inspiration and do it myself. Once you are happy with the pattern, make sure you sharpen the mask and use inflate balloon -3 or whatever seems right for you. If you want a damaged holster, use Slash2 and do it on the edges, this gives a good starting point for detailing. Dam standard is always your best friend for detailing and make the scratches fit the model nicely and make sense. The pattern can't be clean so for that, I use Standard brush and go over the edges.
I always create the boots in ZBrush by starting with a simple sphere and just go straight into sculpting. After you get the base of the boot, make sure you get enough room for the sole to be fitted underneath. With just a simple extract from the boot, I get the base sole and start refining it with hpolish, flatten, etc. Extract to me is the fastest way to get something for your model, and if you do it correctly and spend time on it it will have the same look. With the boot collar, it's just an extract from the boot, and I use move brush to make it look natural.
For the straps around the boot, I use CurveStrapSnap brush inside of ZBrush, and I do it like this for most of my straps, belts, etc. By using a standard brush at a low subdivision level, I start to sculpt the base boot with using the reference on the side of course. Stitches on the sole were done with the seam 3 brush by JRO. The damaged parts on the boot collar are done with a snake hook, and now you have a solid base to start to detail things. For the seams on the boot base, I used JRO Brush-seam 14, which gives you the look like there are two different objects. After that, I start the same thing with the Slash2 brush when I go on the edges of the model. The holes are done the same way just by maybe using more Standard and Damstandard to get my desired effect. When I'm done detailing the whole thing, I like to make a morph target and use the leathery skin alphas that are inside of ZBrush and just put them all over and then use Morph brush to take that detailing way down in terms of intensity.
Buckles were done inside of Maya. Pretty much all of my belts are done with the CurveStrap Brush in ZBrush, it's just my preference. When I create the belts, I always subdivide first without Smooth and the turn on the smooth at the Divide button. The first step to me is always putting the seams on the highest subdiv and then just lower the subdivs and use standard and move to move it a bit and make it imperfect. After that, I just use the same brushes that I've talked about and go as far as I can go. When you are doing the wear and tear on the leather, try to make it unique and don't make them too close, even 1 tear sometimes turns out to fit the model the best.
For creating the knife, I used shadowbox the same way I used it on the knife holster because it’s a pretty easy silhouette. After finishing that, I sculpted the main details on the blade and then just added a cylinder which I used for the handle, you can achieve this look with the move and smooth only. For the remaining parts of the handle, I just divided the main base and extracted the parts that I need. You see me using a lot of sculpting to create some hard surface stuff just because I want to create that man-made feel to it. I needed to make the wood feel like wood so for this Dam Standard, Standard, and Surface Noice were my best friends.
When I started thinking about the lighting, I knew that I would have to try multiple times to achieve that cinematic look that I wanna have on this character. I always start with a simple three-point light setup but I'm never afraid to use even 20 lights because I think that way you have a lot of control under your hands. Like you see at the face, I have two close spotlights just to slightly light that part of the face and I set those with small distance. Because my character has a pretty dark and cold color, I wanted to create something to give contrast to that, and that's why I used warm orange tint in all of the lights.
I use the SkyLight as a slight fill for my character with these parameters.
All of my lights are created by moving the camera to choose the position and then just press Ctrl+L, and you get the light at your wanted position without having to use the gizmo. Once I create a spotlight, I make sure to give it a bit of width so the shadows are not too harsh(Play with the attention curve on the light, you can get interesting details). With doing this project, I learned that if you want to make a cinematic look you should use Filmic(Hejl) tone mapping cause the levels are way better. You can see the difference between Linear and Filmic. A great way to see if your contrast is better on your renders is to look at it without color. If it looks good, it will look better with the color. Presentation to me is the most important part of a good character because it’s the final touch on it and a lot of people skip this one. I always study artworks and shots from other artists to be able to recreate it in my works. Depending on your character, you need to make the lighting feel like the character is in that environment(alleyway, battlefield, surrounded by fire, etc.). Study the movies that you watch, learn why artists put that specific light there. Never rush the presentation part of your character!
I think that as an artist whenever you start a new personal project for your portfolio, you always try to set a new challenge to achieve something better than the last project. For this character, I wanted to get better in terms of materials and getting the character to feel like he is a bad guy and a thug because you can be the best technical artist but if you don't add the artistic look and feel to it, it won't work most of the times. For this reason, I think it's important to have a mentor in this industry so he/she can show you how things are done, and you don't have to be stuck with 100 questions and don't have the answer for this. Ryan Kingslien and Mario Stabile pushed me and gave me the missing pieces I had in terms of modeling, baking, texturing, presentation, and as being an artist, too. Those lessons really drove me to get to this level, and I would highly recommend everyone, who struggles to get a mentor at any point. All that mentoring got me ready for my future to make sure I'm on point in terms of personal projects and work. I’m nearly finished with the new character that I started right after the Bootcamp, and now I get how much I learned there.