Hello there, my name is Raouf, I am a Technical Artist currently living in Clermont-Ferrand, France. In this tutorial, I will try to explain how I created "Natascha" and break it down into multiple creation steps. I will be focusing mainly on the shading and texturing part in which I used a hybrid approach by mixing painted bitmaps, vector graphics, procedural patterns and noises. I will briefly show how I used Autodesk Maya for the base mesh and rendering process, Mudbox for sculpting and detailing the face and torso and then finally using Allegorithmic's Substance Designer as the texturing hub to create a complete material containing nine texture maps.
I started the head modeling from scratch in Maya, where I created some quads around the eyelid area. I expanded the modeling to different parts of the head, such as the mouth and the chin. Then I created three materials: Red, Green and Blue that I applied to each one of my polygon islands.
I continued this process for the rest of the face and torso. At this point I usually use the "Bridge" tool with an adapted subdivision level, then I use the "Sculpt Geometry Tool" to shape the model and smooth the edge loops.
This is the final result with symmetry applied and two spheres used as a place-holder for the eyes. At this point, I like to work on different pieces in parallel. Most of the time, I create some very simple geometry that I use as place-holders to start establishing the look of the character. This will help me drive the kind of details that I will add later on.
In this example, I have simply created some NURB Curves and used the "Loft" tool to create a very simple hair shape. I also created a highly subdivided polyPlane, deleted some faces and created an nCloth that I dropped on the character's torso.
It is now time to send the head mesh to Mudbox in order to shape the model in an easier way and add some details that we will use later during the shading stage. Here, I simply used the "Send To Mudbox" function from Maya that exported my Head model via FBX. First thing to do, is to subdivide the model by hitting the Shift+D keys a couple of times.
At this stage, I am at Level 3 Subdivision and I am not too worried about details, I am simply trying to find a good balance between elegance and personality. I don't have the intention to make a 20 years old "Hot College Chick" but rather a reserved, sultry, mature women with a strong personality. I am trying to get the general head shape correct and to define the bony and muscular forms. I mainly used the "Grab" and "Wax" brushes with symmetry and turned it off from time to time in order to give more life and realism to the model. I can quickly refine the model using the "Grab" brush while the "Wax" brush allows me to work the surface forms. After this is done, I can increase the Subdivision level to 5 or 6 and start adding finer skin details on separate layers.
I have made extensive use of Stencils applied to the regular "Sculpt" brush, I relied on face photographs from 3d.sk that I edited in Substance Designer. I took approximately three photos for the cheeks, one for the neck and torso, two for the eyelids and one for the chin. In Substance Designer, I used the "Highpass" filter after converting the photos to grayscale and plugged them to "HSL" and "Levels" nodes in order to isolate the skin pores that I am going to use in Mudbox for sculpting. In Mudbox, I turned on SSAO and Cavity post process and separated the sculpt layers by areas, I have one layer for the eyelid, one for the chin and so on and so forth... After having completed the skin details, I went back quickly in Maya and continued to create more NURB Curves for my hair shape. After having converting them to NURB Surfaces and then polyMeshes, I exported the hair shape in Mudbox.
Here I locked the Head mesh and used the "Grab" tool as a grooming tool to style my hair shape. Now that we have finished our Hi-res model and added most of the details that we wanted, we need to adjust a few things on our final model before going to the shading stage.
Let's go back to our original model inside of Maya and start to layout our Uvs. I am not planning to use this model for a Game or any kind of Real-Time application, so I tried to use as much UV Tiles as I needed, in this case I have separated the eyes and used a different Material. My final textures resolution for the Head and Torso will be 2K. I first create a "Blinn" shader and connect a "Checker" Texture to the Color slot of the the material, most of the time you will need to increase the "Repeat UV" parameter in the "place2dTexture" node. The Checker allows me to visualize where do my maps are stretching.
Then I selected the head geometry and used the "Cylindrical Mapping" technique, after that I cut the Uvs along the neck and the back of the head. From there, I selected the Head UV Shell and simply used the "Smooth UV Tool". I repeated the process for the neck and chest and finished with the "Layout" tool in order to get the right pixel-ratio. Now that we are finished with our Uvs, we can send our Low-res model to Mudbox. Here, we will use the "Map Extraction" feature in order to bake a Normal and Displacement map.
As I have modified the Hi-res mesh quite a lot, I have to use the "RayCasting" method instead of the "Subdivion" one, I choose "Best Guess" for Search Distance and exported a right-handed normal map at a 4K resolution. The Displacement map was exported as a 16 bits floating points TIFF file. Before moving on to the Texturing and Shading stage, I quickly created a skeleton in Maya by placing Joints at key places. I used "Heat Map" as the skinning method and started to pose the character.
At the same time I started to create some camera bookmarks in order to find an appealing pose and the right camera angle that goes with it. From there, I created various embellishment meshes such as earrings and cloth for my character.
Now that our Uvs are laid out and we have extracted our Normal and Displacement maps, we can export the head mesh via the FBX file format and start compositing our Material in Substance Designer. In this video below, I show the first steps of creation where I import my model, extract some maps such as Ambient Occlusion and Curvature. Then I composite these maps with basic image operations such as colouring a grayscale image with the "Pick Gradient" feature in the "Gradient map" node and so on...
Now that we have the base color, I can start to add some details such as freckles or skin color variations.
Here, I simply used a Black&White noise that I edited with a "Levels" node by lowering the High entry key, then I scaled up the pattern with a "Transformation 2D" node. After having set up my noise texture, I can colourize it with a "Gradient map" node and finally blend it with my main texture using "Soft Light" in order to give some color variation to our skin and start to give some realistic skin imperfections to our Material.
I continued the same detailing process by adding some freckles. In this case, I used the "Fractal Sum Base" preset, colourized it with a brown/orange color and blended it with the "Darken" blending mode. In this case, I created a new SVG resource and painted the areas where my freckles are going to blend with the skin texture as a mask for the blend node. At this stage, I am starting to bypass my graph in order to create all other outputs such as Specular, Epidermal, Subdermal maps and so on... This is where the non-linear approach of Substance becomes really handy, as I don't need to worry too much about each maps and modify them one by one when I want to add details or make some retake on the Diffuse texture: All of my material's maps will update at the same time.
I am now reaching the final stage of texturing where I hand paint the finest details. Here I created various Bitmap nodes in which I painted details such as beauty spots, three layers of make-up for the eyelid and lipstick. For each creation stage, I create a bunch of parameters that will allow me further on to customize my texture directly within Maya during the Shading and Render setup. For example, I exposed intensity and color of the eyelid make-up and lip stick. I also exposed various node controls such as the blending amount for freckles or the hue, saturation and contrast of the base skin layer.
My material is now fully completed, the Substance material outputs nine texture maps: Overall Color, Normal, Specular, BackScatter, Diffuse, Epidermal, Subdermal, Reflectivity, Gloss and Roughness. All of these maps are linked together, and the parameters that I exposed in Substance Designer will affect the nine maps at the same time. From SD, I selected my Substance package and published it as a Substance archive (*.sbsar file), and then went back to Maya.
Back in Maya, I imported an eye Substance texture provided with the Substance library in Maya and started tweaking it. Then I created another Substance node in the "Node Editor", loaded my skin material and customized it in the same way.
I split my graph in SD in order to smartly feed the nine maps, and I created 16 parameters that I can now use in order to dynamically customize my texture without having to go back and forth between Maya and SD if I want to adjust some details.
Pre-visualization stage has come to an end, let's now focus on serious business and start the rendering process using sub-surface scattering, ray-tracing and so on... I began to set up a simplified studio light rig by using two mentalRay Area lights as key and rim lights.
I also created a mentalRay Physical sun & sky that I plugged to an environment shader used with an "mib_blackbody" and a portal light. The environment is only composed of a polysphere with reversed normals and the default Maya Lambert shader assigned to it. I started to make some test renders in order to see how the light rig interacts with the overall environment, then I moved on to the shading setup for the head model.
I enabled all the outputs and used Substance Bonus Tools for Maya in order to link the outputs to temporary bitmap files that will render without any problem with mentalRay. The skin material is composed of a "misss_fast_skin_maya" shader in which I plugged the Overall color, Back Scatter, Subdermal, Epidermal and Diffuse textures. Then I plugged the sss shader to an "mia_material_x_passes", in addition to this, the Normal map, Reflection, Gloss, Roughness and Displacement map extracted from Mudbox were also connected to the mia shader.
In order to properly use displacement with mentalRay I needed to select my mesh go to "Window->Rendering Editors->mental ray->Approximation Editor" and add subdivision levels to our head, in this case I chose a value of 3 for the "N Subdivisions" parameter. I started to do some test renders where I can adjust the shader settings, lights intensity or the substance material. I have also started to create multiple render layers where I isolated the head with only the rim light, key light and so on... It will give me much more control during the compositing stage. I don't really mind the glitches on top of the head because I did not focused on this part of the head in Mudbox, and it will soon be hidden by the hair anyway...
I selected the polygon hair mesh styled in Mudbox, isolated it in a layer and turned on the "Make Live" feature. I was now able to add more NURB curves that automatically snapped to the hair geometry. Then I selected all my curves and generated Paint Effects strokes from them.
It is now much easier to style our hair shape as we can now apply twisting effects, curling and other kind of Paint Effects function that are way harder to achieve with regular NURB curves. Now I select all my Paint Effects strokes and converted them to NURBS. From this NURBS surfaces, I go to "Edit Curves->Duplicate Surface Curves" and hit the option box. In my case I only want to duplicate the U surface isoparms.
Now I have a set of new NURB curves derived from the outer edges of our NURB surfaces. The stage is now set to bring life to our hair, I create a little polyPlane far away from the main scene and created an nHair system. Then I simply assigned this nHair system to our newly created curves.
After having done some test renders and set up my hair system, I separated the hair system and applied a "SurfaceShader" to the head. I now have seven render layers with four render passes for each.
I decided to do my passes and layers compositing in The Foundry's Nuke. For the render passes, I simply multiplied the beauty and AO passes, then I used the "Soft Light" blending mode for the reflection pass.
As for the render layers, I merged the key and rim light passes, color correct the result then merged it the hair pass and so forth. A lot of grading were done for all render passes, I finished with a "Z blur" for simulating a chromatic aberration effect using a custom depth map that I have painted, and the final image comes magically together!