This tutorial was written by the amazing Pablo Munoz Gomez and appeared in issue 97 of 3D Artist. Subscribe today and never miss an issue!
Throughout the course of the next steps, we are going to dissect the process of creating and setting up the 3D sculpture of our Jarl character in order to create a detailed illustration.
We’ll begin with the creation of a 3D sketch that has been based on 2D concepts, as well as doing some paintovers to further explore the design options.
The character is not going to have an extreme or dynamic pose and the overall facial expression will be rather neutral. But we still need to make the illustration interesting, so we’ll pay close attention to the eyes as our means to create a captivating image for the final render.
Although we are going to work with ZBrush for large parts of the tutorial, textures are going to be created with Substance Painter 2. We’ll also use KeyShot for rendering and Photoshop for compositing and refinements.
Additionally, we’ll also take a look at some tips which will help us to suggest context or a story behind the character, particularly when working with a closed composition where the main focus is the face of the subject.
Step 01 – Set up and 3D sketching
Let’s assume that you have collected all of your references and have a clear idea of how your image should look. For this character, we already had concept art to help ignite the creative process. Starting from a generic female base mesh we can start appending various DynaMeshed spheres. To flesh out the volumes for the jacket and fur coat, we’ll use the Move tool while keeping the DynaMesh resolution very low. You can handle a great amount of details by having a SubTool for each key element. At this stage, the Dam_Standard brush is a great tool for defining cuts and intersections.
Step 02 – Sculpt the face and explore in 2D
With the basic shapes in place, we can do a BPR render and open it in Photoshop. Using a hard brush with pressure, sketch out some shapes over the render. This process will help us determine (very quickly) whether or not an idea is worth pursuing and will save us some time when it comes to the sculpting stage. Once the design has been refined, we can begin to sculpt the face using the Standard Brush with a low Z intensity, the Move brush and the hPolish brush.
Step 03 – Increase resolution, details and alphas
To sculpt skin details, let’s increase the resolution in the DynaMesh SubTools and the subdivision level in the base mesh. Ensure the details are added gradually – only increase resolution or subdivide when more geometry is needed to describe smaller details. Using a plane in a separate tool, carve a few pores and generate an alpha (GrabDoc) to project high-frequency details into our model. we can create multiple alphas for areas of the skin with deeper pores or subtle bumps. Some areas need more attention and are important for adding asymmetry. The Dam_Standard brush is ideal for carving in wrinkles around the eye and use the Inflate brush for the lips.
Step 04 – Create a brush for eyelashes
We want to exaggerate the eyelashes for this character to accentuate the eyes a bit more. We need two things to build the eyelashes: the structural planes and the eyelashes brush. The structural planes are single-sided pieces of geometry (an extruded edge or a tweaked plane) that follows the contour of the eye and serves as a guide to lay down and edit the individual eyelashes. The eyelashes brush is a modified version of the Insert CurveTubes brush. From the Stroke palette under the Curve subpalette, turn on Snap as well as Lock Start. Also switch on Size under Curve modifiers.
Step 05 – Work on eyebrows
We can use the eyelashes brush for the eyebrows as well, following the same idea of creating a structural plane (a simple extract from the forehead). Since we enabled Snap and Lock Start, when we draw a tube with a small size brush, ZBrush will prevent us from moving the origin point and the tubes will snap to the plane we created. This is a really fast way to create this sort of detail. Since the shape and flow of the hairs is determined primarily by the structural planes, we don’t have to spend time grooming and moving things around after.
Step 06 – Replace placeholders and clean up
Take each DynaMesh placeholder and refine the shapes. Make use of the ZRemesher feature to retopologise the shapes and optimise the polygon count. You can also utilise the ZRemesher guides to help you control the flow of the topology. In this case, and for most SubTools, we only need to keep the part of the mesh that will be visible in our illustration. So after getting a new topology, you can use the ZModeler to select and delete any polygons that you won’t be needing. With elements like the jacket, create a single polygroup for the resulting open mesh and use the ZModeler to extrude the polygroup outwards to create some thickness.
Step 07 – Unwrap UV
Now that we have new and clean topology, we are going to create UVs before subdividing and adding details. We’ll make use of the polygroups in our meshes to unwrap the polygons in separate islands. Open the UV Master and turn on the Polygroups switch – you can use ZModeler to assign new polygroups to segment the mesh in more parts. For the head, we already have details and subdivision levels. So we can use the Work on Clone option to unwrap the model and then copy and paste the new UVs into our detailed head mesh.
Step 08 – Detail parts and clean up
Use the Texture Palette to select an image and check the UV mapping for all your SubTools. If you are happy with the result you can start subdividing and detailing each part. Keep in mind that some areas will be covered by fur or hair so not all the details will be visible. For things like the jacket, we can sculpt the most prominent details like cuts or scratches, and add smaller details to the mesh using surface noise. We can also use Insert brushes to add parts like the buckles. At this point it is also a good idea to save as a separate file, clean up the tool and remove any remaining placeholders.
Step 09 – Create the eyes
The eyes are a central part of this illustration so we are going to work on creating a separate ‘eye tool’ and then we will import it for our character. Create a 3D sphere now and click on Make PolyMesh 3D from the Tool palette. Assign two polygroups for the front and back, and then generate some UVs. Use the Flatten option in the UV Master plugin, and the transpose line to rearrange parts and give more space to the front part of the eye. Then subdivide the eye a few times, enable radial symmetry to sculpt the iris and keep changing the RadialCount value to add some randomness in the details.
Step 10 – Work with the hair brush
To optimise our model for KeyShot rendering, we’ll take a different approach to build the hair and fur. Create a new tool using a polymesh plane with UVs and create an Insert brush. With the new brush selected, you should now enable Curve Mode under the Stroke palette, as well as for Size under curve modifiers. Select the head of our model, duplicate it, go to the lowest subdivision level and delete the higher one. Now we have another placeholder and we can start drawing curves with the Plane Brush we created. Also, use Lock Start from the curve palette to avoid moving the origin point.
Step 11 – Texture hair
We already have UVs for the head. We also created the hair brush after creating the UVs for the plane, so simply add a tileable hair texture with alpha to our hair straps and they’ll start to look more like real hair. The benefits are that we have more control over shape and considerably fewer polygons to render. The downside is that it won’t look messy and random, which is something that makes it look more natural. To fix this, we’ll add more hair straps with a smaller brush to cover up areas were the polygons are evident. This will also create the effect of a greater volume of hair.
Step 12 – Groom and style hair
When creating the hair straps, you can select the tip of the curve and move it in a circular motion to twist the curve and add a bit more life to the hair. Use the Move tool to ‘groom’ the pieces of hair and you’ll be able create the hairstyle that you want. For additional hair details like the braids, create another Insert Curve brush to build the base. A very cool and easy way to test this type of brush with repetitive patterns is by utilising ArrayMesh to see the effect of the pattern.
Step 13 – Pose the model
By now we should have all of our SubTools with subdivision levels and details. Before adding additional FiberMesh we need to create the final pose for the model using Transpose Master from the Zplugin palette. Since we have a good range of polygroups in all parts of our model, we can quickly create selections and mask the model. Generally speaking, it is easier to use the transpose line to move or rotate parts of the model. You might find that the Move and Move Topology brushes are incredibly handy for readjusting sections of the model after it has been posed.
Step 14 – Retouch the hair
Once the model has been posed, it is a good idea to preview the composition and test all of the various camera angles in KeyShot. Now add in FiberMesh to some key areas of the hair to create better transitions for a more realistic-looking hair effect. Take the duplicate of the head that we used earlier to insert the hair straps, and segment it in various polygroups. Now click Preview in the FiberMesh subpalette and tweak the settings to your liking, but make sure that you leave Gravity set to 0 and at a relatively low number of fibres. Create the fibres and use the Groom brushes, with Masking By Polygroups set to 100, to shape and comb the fibres into place.
Step 15 – Create the fur
Let’s move on to the fur coat. Select the relevant SubTool and mask the area where you want to grow fibres from. We are going to keep the polygon count very low and mimic the process we used for the hair, so aim for a single-side thick piece of hair. We’ll use a hair texture with an alpha again to create the appearance of a very dense fur coat. Make sure that you assign the texture to the fibres before making them into new SubTools so that they are created with UVs. Send the resulting fibres to KeyShot and test a few textures to see what looks best.
Step 16 – Fine-tune the fur
We can also assign a unique polygroup to each fibre to use the Move tools with the Mask By Polygroup option. To do that, open the polygroup subpalette and click on Group By Normals. Since our fur fibres have very few polygons, once in KeyShot they might not look as smooth as they may look in a ZBrush BPR. We need to click on Convert BPR to GEO for a better result in KeyShot. If you want an additional level of detail, you can also create a FiberMesh pass by making use of the same texture or colour that was used in the fibres.
Step 17 – Texture in Substance Painter
To texture this character we’ll use Substance Painter 2. We need to export all SubTools (except the hair and fur) in their lowest subdivision level as well as the highest subdivision level. In Substance Painter, we just need to import the low-poly models and use the high-poly model to bake some maps to help us with the texturing process. The workflow is the same for all meshes. Start with a coloured layer as the base and then create new layers to progressively add more colour variations and details to the texture map.
Step 18 – Set up KeyShot materials
The great advantage of texturing in Substance Painter 2 is the ability of painting and exporting all separate channels/maps. Using KeyShot 6 Pro and the Material Graph we can set up our materials using the maps we created in Substance Painter. In ZBrush select the SubTool you want to set up a material for, and enable Solo mode. With only one SubTool visible, use the ZBrush-to-KeyShot bridge to send only that SubTool to KeyShot. Assign a material and open the Material Graph. Import the various maps corresponding to the selected SubTool and connect them. You can concentrate on one material at a time and once you are happy with it save it to your library (including the maps you used), so when you send the whole model to KeyShot you can easily assign materials to the various parts.
Step 19 – Render in KeyShot
Send the full high subdivision level model to KeyShot, choose your camera angle and tweak the lighting of the scene. Under the Scene tab in KeyShot, you can see all of the models that are (SubTools) available. Select any model and in the properties tab, you can assign it to a separate layer. When you get to compositing you can have that object on its own layer so you can tweak it individually. In the render window, change the format to PSD 32 BIT and tick the Include Alpha box. Also tick the boxes to render the depth and clown passes, which are very useful when compositing. Now hit render!
Step 20 – Composite and final tweaks
After the render is completed we can move on to the final stage of the process, so open Photoshop and bring in the PSD file. Because we rendered it at 32-bit, we have a tone of colour depth information to play with. Open the Camera Raw Filter and adjust exposure, contrast and colours. We can then create the background for the illustration. Also, add new layers and we can use a variety of brushes to do some paintovers and refine some details in the image. To finalise our illustration, let’s add the snow particles and a few gradients with the blending mode set to Soft Light and Screen to create the atmospheric haze.