Shade and render a stylised character
Discover how to mix realistic details with a stylised cartoon to create your own individual and unique character
Sculpt a unique model, use Ornatrix and render in V-ray
n this tutorial we’ll learn the techniques required to be able to make a stylised character with very complex details. From skin detailing to fabric and hair shading, we’ll be covering the process of sculpting cloth without using any simulation software in Zbrush and 3ds Max. We will also discover how to use Zbrush polypaint and mix that with Mari texture painting and then take everything to Substance to further enhance the look of the skin and create the tattoos. After that, we’ll explore how to create the haircut from blocking the base in Zbrush and make the actual hair in Ornatrix. Finally, we will do the lighting and shading in 3ds Max and render in V-ray.
Block out the main form Before starting the sculpt, check some references to see how the character could look and also what type of pose she will be in. After finding everything we need, use a base mesh that you’ve made of a stylised female and begin sculpting the basic blockout. It doesn’t need to be anything special, just the usual brushes flike Clay Buildup and Move, Standard and Dam_standard. To clean up the surface noise caused by the Clay Buildup brush, use Trim Dynamic to polish and smooth the surface without losing volume. If you use the Smooth brush, you will lose the volume and the basic shapes. After finishing the rough sculpt, split the mesh into four parts – head, hands, legs and torso – so that we can use the Transpose tool to pose the character without any problems.
Auto retopology wih Zremesher When you work on a character for games or cinematics, it’s usually better to use Zsphere manual retopology or any tool of your choice because you need specific topology for skinning and rigging. In this case we’re using Zremesher but we’ll have to make some polygroups to control where we need the edge loops. All you have to do is mask the part you want to group and then click Ctrl/cmd+w to group it. After cleaning everything up using Polish By Polygroup, click on Zremesher while holding the Opt/alt key. Keep in mind though that you will have to check the Keep Group option that way as it will remesh the object and keep the polygrouping intact.
Edge flow for subdivision control Export the Zremeshed body to 3ds Max so we can add some details and control the lip and eye edges better. Start by removing the triangles and ngons from the unnecessary places to prevent pinches later when we render the skin. Now that you have the topology and quads, extrude the lips inside a bit and add some thickness to the eyes. Add more edge loops around those parts to get a sharper chamfer for subdivision. Everything is now ready for us to start detailing the sculpt in Zbrush without worrying about losing volume when we divide.
Add displacement To add displacement to the face, use Texturing XYZ in Mari and Zbrush. We usually have three type of maps – primary, secondary and micro displacement – but we won’t do that here because it’s a stylised character. Instead, we’ll only need the main displacement. Export the mesh after unwrapping it in Zbrush and use two different UDIMS, one for the face and another for the body, to get a very high-resolution texture. Also, don’t forget to split the face map up for the different features. Do the same thing for the body because Mari will crash if you try to paint a full 16k map. Since we already have the body in Zbrush, import the painted texture from the Alpha menu, go to Masking and click Mask By Alpha. Now you can use layers if you want to decrease the displacement. Go to Deformation for the Inflate tool and play with the number as you see fit.
Create the jacket Everything about this project was about learning more techniques and being better at sculpting so we’re using the old workflow to extract the shapes from the body. Adopt the same method we employed to create the proper topology for the body using Zremesher. After that, take it to 3ds Max to add the edge control like we did for the body. Now that everything is ready for sculpting, check some leather jacket references and some fold studies before starting to sculpt. For this, we are mainly using the Dam_standard brush with and without pressing Opt/alt as well as the Inflate brush on some of the folds because the leather material has a specific look. Once done, hit Zremesher again and keep doing that until the sculpt is completed with all of its details, including the micromemory folds. you can add some realism to the leather in Substance Painter later.
Make some details For the zip, we could just use the IMM Zipper brush from Zbrush but we want a nondestructive workflow with more control so we’ll use 3ds Max’s surface deformer to make the copies of the zip that we modelled in 3ds Max. Then make it follow the chosen surface by creating a simple plane. you can extrude it from the border of the jacket where you want the zip to be by creating a shape from both sides of that plane, and then making a surface from those shapes using the NURB modifier. Now make the zip with very simple box modelling, copy it as many times as you need and attach them all. Add the surface deformer modifier, pick that surface and you’ll have a zip. For the stitches, do the same thing except only use the path deformer following a simple shape. you can also use the same workflow for the belt but it will be one full mesh that follows a surface or a shape.
Texture the skin Now that we have everything ready to be textured, start with the skin. We’ll use Zbrush first for the basic polypainting, follow some references and colour palettes for the colour tones on our faces. Use the Standard brush and change the alpha to get different looks. When you’re satisfied with the result, export the simple painting to Substance Painter in the form of a 2D map. Now export the body to Substance Painter and add the polypaint information. Mix it with the displacement map we painted in Mari and then start refining the skin using some fill and paint layers as well as the cool smart masks provided by Substance.
Makeup and tattoos The makeup is very simple to do – just add a new fill layer with a black colour that’s just under 100 per cent black. Then black mask that fill layer and use the lazy mouse in Substance Painter to do the eyelashes – following some references, of course. Now that the eyelashes are done, you can add less roughness to the material to make them less reflective than the skin itself. Before we create the tattoos, however, we need to gather some references. We’re not going to make them from scratch and it’s not the purpose of this tutorial so in this project we’ll photobash some black and white tattoos, and we can paint over them to add some specific words. We’ll do the colouring ourselves using some gradient colours because real tattoos have a blue tint, like you see in veins, and that is usually caused by light bouncing off of skin, giving it that colour.
Skin shading After exporting the maps from Substance Painter, we’re not going to use them straight away. First we need to adjust them in V-ray with some colour correction. For the skin, use the new V-ray alsurface shader – it’s pretty simple and doesn’t require a lot of maps so we have more control over the skin’s look. We’ll be using the base colour and the skin colour. For the other two skin layers, it’ll just be the default colour with just a couple of tweaks – that’s how accurate this new V-ray shader is. For the reflection map, employ the map from Substance and mix it with the displacement map without making it very obvious. For the roughness, adopt a simple procedural map from 3ds Max called cellular and mix it with the same map to get a glossy variation. Don’t forget to use the GGX BRDF mode so that you have a reflection that changes based on the viewing angle. As for the displacement, just use the map exported from Zbrush as it is but with a small adjustment in the output to avoid inflating the geometry when it comes to rendering.
Texture and shade the clothes Now that everything is in place and the skin shader is ready, try and make a good-looking jacket and jeans. For the jeans, use a simple jean texture and then take it to Substance Designer. Use a filter to process it, make tiles and tweak the normals, displacement, roughness and so on. Then take it to Substance Painter to add the details and that way we can add some damage to the colour and some variation in the normal intensity. It’s pretty much the same for the jacket except that we’re not going to use textures. Instead, we’ll use a Substance downloaded from Substance Source – it’s a free resource. Add some adjustments to it inside of the V-ray material to make it look more like fabric with some Fresnel effects to get the frizzy look. For the leather, use Substance Painter to get the effect by starting with a simple smart material that looks like leather. Of course, since we have the back details we can make further changes to it to make it look a bit worn. It’s still a new jacket but we need to tell a story behind our texture. As the character is a badass biker, she must get into fights and so some dirt and scratches will make it look awesome.
Block the hair in Zbrush Before you start working on creating the hair, you have to figure out what type of haircut you need. If we start using Ornatrix without any ideas about the style and just start grooming, we will never finish. Go to Zbrush and play with some curve brushes to get the main look. We’re going to use the Curvetube brush with a small modification under the curve modifiers on the Stroke menu. We’ll change the curve to make it taller at the end – that way, our blockout will look a bit more like hair.
Set up the main hair strands After we have our haircut blocked out in Zbrush, export it into 3ds Max and freeze it so that we will be able to work on the actual hair without any problems with Ornatrix grooming. Before starting, paint a hair map in Substance Painter so we can control where we want the hair to grow from. Next, select a small part of the head model – we don’t want to select the whole head – and add the Ornatrix modifier. It’s worth noting that even if you have a map to control it, it will be heavy on your PC, so now that we have the small geometry selected, add the ox guides from surface modifier. After that, try to groom the guides to make it look like our blockout mesh. Keep in mind that you shouldn’t try to groom the guides with a high root count as that will make it harder for you to control. Try to use a low count instead and then work your way up until you’re happy with the look – after that, you can add the ox hair from guides.
Add hair variations Now that we have the main form of our haircut, try to add some hair variation – that’s one of the most important parts of hair creation. In order to make it look natural, we have to split it into different levels of detail so we’ll do the same thing that we did in Substance Painter and paint where we want the details to be. After that, copy every modifier you added to the previous hair but only those on top of the ox hair from guides – that way we get the same hair property but a different look. We don’t want different hair thicknesses as that will look bad when we render. Keep doing this until you have enough hair variation to get a natural look without losing the stylised feel of the haircut.
Colour intensity variation Now we’ll go into Substance Designer to create a basic greyscale texture to represent different colour intensities in the hair. Since we don’t want it to be too uniform, we’re going to use an anistropic noise node. After that, add a blur_hq_ grayscale so that we don’t have a sharp transition between different greyscale values. Next, plug it into a histogram range node so that we won’t have any intense black or white values. Now we’re ready to go to 3ds Max to prepare our hair shader.
Prepare the hair shader For the hair shader, we’re going to use the V-ray hair material as it’s easy to use and gives a pretty good result. First add a V-ray map called Vrayhairinfotex to the opacity slot. Swap the black and white colours, and change the bias value to 0.1 – that way the tip of the hair will fade out and that will help later with the antialiasing. Then go to the colours and add another Vrayhairinfotex map to the transmission slot in the output. Keep it on this colour and set a dark colour for A. For colour B, select a brighter colour – the same hue but a different intensity. Keep in mind that colours A and B will not be just flat colours as they’re V-ray colours mixed with the texture we made in Substance Designer using the V-ray dirt map to mix the two.
Colours A and B will not be just flat colours as they’re V-ray colours mixed with the texture we made in Substance Designer using the V-ray dirt map
Light the character When lighting your character, always try to have a purpose behind your choices. If you don’t, you’ll just get lost and keep adding lights without being satisfied with the outcome and not even know why it’s looking how it does. So for our character we’re going to start by adding the first light on her right side. This will be the key light and then we’ll start adding some more to highlight certain shapes and to separate her from the background to make her hair stand out. Add a backlight on her left back side to make her really pop and then use the reflection and the refraction filters to do some compositing later when it comes to rendering. Also add an HDRI with a very low intensity, too, for better reflection.
Render and comp For the rendering we’ll use brute force for the primary engine and light cache for the secondary one. The rendering type is bucket and for a sharper render use the catmull_rom filter. In the image sampler, put 100 in the Max Subdivs and 1 in the Min Subdivs and put 0.005 for the noise threshold. The lower you get, the cleaner your render will be and the slower it gets. The reason for using the brute force engine is that it’s better for rendering specific characters details with high-detailed displacement. People will usually use an irradiance map and a light cache for arch vis and other projects. however, if you have something that requires high sampling calculation in every part of the model, you would want to use brute force. After we finish, we use the render passes like ambient occlusion, reflection, refraction and so on. We then make our comp in Photoshop using channel blending and some colour correction.