Obafunso Dorgu shared the workflow behind the Serenity project, told us how the clothes were made in Marvelous Designer, and mentioned what's important to do to set up realistic hair.
Hello, my name is Obafunso Dorgu. I am a self-taught 3D character artist and a student learning Graphics Design. I have been practicing 3D modeling for about 6 years. Initially, I started out using architecture software to create models unrelated to architecture until I discovered proper 3D modeling software packages such as Blender. Now, I use ZBrush and Blender for modeling, Marvelous Designer for clothing, and Substance 3D Painter for texturing.
The Serenity Project
I started my project by deciding what exactly I wanted out of it. I decided to create a full 3D character and follow an already created concept rather than making my own. I looked through several concept artist profiles on ArtStation until I found a piece that I liked from Pavel Hristov and asked for permission to use it. The piece was called Serenity, and I focused on capturing the mood and emotion from it. The entire project took about three weeks to complete in between school. I started by examining all the individual elements of the concept piece, from the vest to the boots, and proceeded to find adequate references for each of these elements and grouped them up in a PureRef board.
After sculpting the head and body, I pushed around simple dynameshed spheres and cubes with the Move brush to create a template of how the clothes, hair, and accessories were going to look. This helped me with the basic shapes and informed my planning of the costume creation.
I decided to sculpt the entire body from scratch as a personal anatomy exercise and then used a pre-existing base mesh to create a clean topology.
Clothes & High Poly
After the retopo stage, I transferred the body model over to Marvelous Designer where I used the references from my PureRef board to create the various pieces of clothing. I created the tied sleeve by cutting it into parts and using pins to create the loop you see.
I then brought the clothes into ZBrush, separated the different pieces into their own subtools, made copies of the individual subtools, ZRemeshed the copies, subdivided them, and reprojected them to regain the details I got from Marvelous Designer while getting good quad-based geometry.
After this setup, I started with going into each subtool, subdividing it into the necessary steps, and improving it in Marvelous Designer using references. I then focused on the surface details and created wrinkles and bumps to get the look of leather or folds and creases to give the impression of cloth.
In Blender, I created stitching using an array modifier and parented it to curves that ran along the belts and leathers. I imported those into ZBrush and adjusted them to match the position of the high-poly sculpt. Next, I sculpted wrinkles and folds to give the impression of stitching passing through the various materials.
After the high poly mesh was created, I was left with tens of millions of polygons that needed to be reduced. I used the handy ZRemesher for this. I then used polypaint to set up groups for an ID mask and exported them with the FBX exporter. I baked 8k maps in Substance 3D Painter
Initially, I focused on creating a fully realistic character. However, during reference gathering and considering the nature of the concept, I decided to go with a semi-realistic look for the face, similar to the Alita: Battle Angel movie. This allowed me to use bigger eyes and slightly different proportions, but not as much as Disney princesses.
After finishing the initial dynamesh sculpt, I used ZWrap to apply the geometry of a VFace head model from the TexturingXYZ website. This provided a clean topology with optimal edge flow. I then subdivided the mesh and manually sculpted secondary details, including eye corner forms and underlying bony and cartilaginous forms in the brows, forehead, nose, jaw, and chin. References of real faces, face sculpts, and scans were valuable for achieving the desired appearance.
I then subdivided the mesh to subdiv level 7 and proceeded to create layers to apply the various levels of skin details from the VFace multi-displacement texture pack. I made sure to store a morph target before this and used it to clean up any artifacts or unwanted details. Afterward, I used the Damian Standard, Standard, and Inflate brushes to hand-sculpt missing details and unique character features, such as eye and lip creases.
For the scars, I created a separate layer and started by using simple polypaint to mark out their locations. Following my scar references, I used the Morph Target brush at a lower intensity to smooth the details in the areas where the scars would be. Next, I employed the Damian Standard brush to create the scars themselves. To add some inflammation around the scar edges, I used the Standard brush, and finally, I utilized the Inflate brush to close up the scars slightly, giving the appearance of partial healing. The entire process was based on the scar references I had collected.
Texturing & Shading
The texturing for the character was done in Substance 3D Painter, I started with the head using the TexturingXYZ maps as a base and then went on to make color, roughness, subsurface scattering, and specular maps.
For the color map, I made use of several layers and the Dirt brush to give that variation that skin has.
The texturing for the clothes benefited greatly from the sculpting work I had done in ZBrush as this allowed me to use various smart masks in Substance 3D Painter to create leather variations that I could use in the color map. An important part of the color map creation was making dark and light areas on the surface of the material to break it up. I also made use of the cavity maps extracted from the high poly to create wear and tear on the leather.
The hair was created in Blender using the VFX Grace 3D Hair add-on. I typically don't get the hair right on the first try, and it usually requires observing references or real-life examples between iterations. Blocking out the hair shape in ZBrush before creating the final version was also helpful. Once the main shape is created, it's important to include flyaway hairs. Adding peach fuzz to the character is essential as well, as it contributes to a more realistic appearance.
While I am not an expert in rigging clothes to character models, one helpful technique involves using a mesh deform cage in combination with the Blender Rigify rig. I pose the character by having the mesh cage parented to the clothes and the rig parented to the mesh cage. Additionally, I utilize shape keys for making final, non-destructive adjustments to the pose, such as the tied sleeve on the missing arm and the width of the boots.
Lighting & Rendering
For the lighting, I employ a 3-point lighting setup consisting of a main light, a fill light, and rim lights. The main light illuminates one side of the face, creating interesting shadows that define the character's form. The fill light softens some of the shadows, while the rim light distinguishes the character's form from the background. I also use an HDRI map for ambient lighting, which contributes to the color scheme. Depth of field is applied to achieve a realistic camera effect. Lastly, I like to use Photoshop for adding finishing touches such as camera RAW exposure and contrast adjustments, as well as incorporating dust specks into the render.
You may find these articles interesting