Daniel Bloecher shares how he make beautiful portraits using ZBrush...
This character started as an anatomy study several months ago. I worked on a full body before I decided to make a detailed portrait including textures and hair. For this making of I have put together some notes to sum up the rough steps and point out the things I learned during the process.
Step 1: Reference and resources
When I started I had no specific person in mind which creates no pressure to match a likeness, but be careful to not get lost in changing things over and over. Keep in mind that photos are taken with different lenses (distortion) and also might be adjusted (bigger eyes, optimized proportions). Have a look at digital work of other artists, find problem areas and search for a solution. Look for elements which make a char feel alive, maybe think about the personality/ social background. I recommend checking scan data and of course anatomy books/ websites. A small tool that i found useful is Pureref www.pureref.com
, it helps to keep an overview of all your images, you can also change opacity for overlaying pictures in ZBrush
Step 2: Base modeling
Learning anatomy, looking at reference, taking notes is how it started, it's a learning process, there are a lot of tutorials who cover this topic. After I had a first full body sculpt I build a clean mesh using the Graphite Modeling Tools in 3ds Max
, with the decimated hi res model below as projection mesh. For the next char I will refine the topo further, e.g. the eye area needs more loops to make sure all the detail shows up correctly in the final render. In this case I ended up using the SDiv 2 for rendering.
Step 3: Detail modeling
For the head detail I duplicated the model and deleted the rest of the body (on level 1), now I could subdivide up to 15 million points and add the details. Those were separated on layers according to areas (mouth, forehead, neck...) or type (skin base, noise). Doing pores/ wrinkles by hand seems good practice, you really need to look and understand first (used free alphas/ brushes by Rick Baker
, Kris Kosta
, Adam Skutt
). I used a map from Texturing.xyz
for the lips, you find nice tuts on their website. A generic skin alpha was used for overall detailing. In case your mesh gets inflated too much during the whole process, store a Morph Target on one of the lower Subdivisions and switch it on the Subdivisions of the relevant layer. Later I tried different expressions on layers, in 3ds Max I applied them via Morph Targets.
Step 4: UV
UVs are split in several patches, left and right extremities using the same space as I wanted to keep the patch count low (I recognized exporting maps from ZBrush can take some time). On the other hand you don't need to fiddle about painting the seams when you keep them separate. During the refinement process I got broken UVs when exporting from ZBrush, which were easy to fix. You need a mesh with the same topo where the UVs are fine. A script called Morphix will reorder vertices to match the reference mesh, which will also fix the UVs. GeometryWalker
works different but will help you too.
Step 5: Shirt
Cloth patterns are helpful to set something up in Marvelous Designer
for the base model. Details were added in ZBrush and a normal map baked in Substance Painter
. I kept the thread parts separate and cloned them along a spline I extracted from the shirt mesh (clone Modifier from itoo soft + Path Deform WSM) in 3ds Max. As I used no displacement I could easily fine tune the position on the mesh. For fine detail a generic wrinkle map was added in the shader.
Step 6: Texturing and shading
I found a helpful script by Beat Reichenbach
, which helped me to paint textures in MARI
. Check the image to get an idea of how I split up the skin texture, starting from rough coloring for the whole body to hand painted details like freckles and moles (therefore I created two alphas, can be found on my website). I also mixed in the displacement maps I exported from ZBrush, this way I could also color some of the irregularities of the skin. The run-down makeup was added via a separate mask in the shader, again painted in MARI using the Warp and Smear Tools. For the micro detail displacement i tried a procedural noise which was adjusted using a mask I did in MARI. For the shader I recommend checking the Digital Emily project, I'm basically blending a SkinMtl and a VrayMtl for the reflection. The VRayHairMtl is used for the hair, for the fuzz I made it a bit transparent.
Step 7: Hair
The ponytail was styled in 3ds Max, the other parts done in ZBrush using FiberMesh. I then exported splines which were used as guides for Ornatrix
. I used separate objects for the ponytail, peach fuzz and so on. Furthermore I found it easier to combine multiple Ornatrix objects using different settings for frizz or strand creation than trying to make it work with a single one. The lashes were placed by hand (some instanced bent tapered objects).
Step 8: Final Touches
I played with some light set ups with the idea to keep it simple. I have a cool key light coming from above to create nice shadows showing the features of the head. A warm softer light was added from the right and I added a reflector plane for some subtle bounce light from below. This part is quite important, you can create a focus point for the viewer and a mood for the character. To get the final look I did some color and contrast adjustments in Photoshop
and added depth of field using the Field Blur.
Step 9: In the End...
If you work on a project for a while, take a break in between if you can, work on something else to keep a fresh eye. Also get feedback from your fellow artists. At this point I'd like to thank my friends for their help! Eyes are definitely important, adding some imperfection and asymmetry, it's a mass of tiny things that work together and make the character believable. Probably most important: finish it and then move on to the next project where you can apply and expand your knowledge.
Check out Daniel's ArtStation pages to see more of his work
Check out the special offers in the 3dtotal shop
Sign up to the 3dtotal newsletter