Realistic Character Portrait Masterclass
Realistic Character Portrait Masterclass
Realistic Character Portrait Masterclass
It’s
packed to the brim with awesome tips, tricks and deep fundamental skills which you can use
to further your characters and career!
This PDF is here to help you keep track of the overall themes of each video. Please note
that this is not a substitute for the videos and that it doesn’t cover specific settings. For that,
please refer to the videos.
Keep testing out your sculpted details and your texture maps as you work on them. This
provides a much more accurate picture than you can possibly get in either ZBrush or Painter
directly - even if you do Iray renders.
02 - ZBrush Setup
Blender
We’re starting our course in Blender by setting the scale of our object. It’s important to get
the scale, position and orientation right in the beginning, since it’s much harder to fix this
later on once you’re dealing with subdivisions, materials, displacement maps and lighting
scenes.
Make a cube and ensure it is roughly 30 cm. This serves as the starting point for the head.
Don’t worry about topology at all.
Checklist:
- Scale is correct
- The character is facing forward
- It’s positioned on top of the grid
ZBrush
Optional: Load the custom hotkeys and UI which comes with the course.
We’re going to set up image planes to work from. You can find the image planes in the
materials directory.
You can enable image planes in the Draw menu. Make sure to enable the Floor in ZBrush on
X and Z.
Save as a Ztool.
You need to focus on both, but at separate stages. The more you focus on the anatomy, the
more the design suffers, and vice versa. After you’ve done an anatomy pass, do a design
pass.
Start off by blocking in the main proportions, and then carve in where the main landmarks
are:
- Ears
- Nose
- Eyes
- Mouth
04 - Concept Sculpting 02
Once the model feels somehow anatomical, match it to the design reference. Line it up to
the reference the best you can. Focus on clean shapes.
Pro Tip: The model needs to work from all angles, not just from the angles where it matches
the reference planes. Your image planes are usually not matching perfectly with each other
as well, so review it from all views.
Bonus Tip: Smooth Stronger is a fantastic brush for quickly smoothing down volume.
05 - Concept Sculpting 03
Add all elements in your sculpt from an early stage, like horns, eyes, etc. Take everything up
to the 30% mark. You don’t know if your design works, until you have all elements present in
the sculpt.
Add more resolution to the model and refine it. We go over the whole model with
ClayBuildup.
06 - Design Refinement
Have a critical look at your character from time to time. It’s really easy to become blind to the
sculpt. Take a break and look at it with fresh eyes. You’re going to see mistakes and
opportunities you haven’t seen before.
Look at the model from all angles and critically evaluate every single feature. Remove brush
strokes, as they confuse the shapes. If you enjoy brush strokes in your model, you can
always add them back later.
Pro Tip: You’ve probably forgotten to give the ears the love they deserve. Go back and
refine the ears.
07 - Sculpting Refinement 01
The design is in a good stage and we need more resolution!
Duplicate your model, Zremesh it, subdivide and use History Project to get back the details.
We now have clean working topology which we can sculpt on top of.
Pro Tip: Subdivide the old model before projecting. This makes the projection smoother and
you won’t have artefacts from the dynameshing.
Once you have more resolution, you’ll see a lot of ways to improve your model.
If you want to do bigger changes at this point which isn't supported by the topology, you can
easily do that. But remember that you’ll have to Zremesh and reproject again.
08 - Sculpting Refinement 02
Slow down and evaluate the model. At this point, our model has strong shapes but they are
too stylized. We need to break them up to add realism. Make it feel like the shapes have
been affected by gravity.
09 - Sculpting Refinement 03
We’re adding overall refinement to the whole model. Go over all the facial features and make
sure they have all the planes needed. This stage takes time and simply requires you to sit
down and do the work.
10 - Sculpting Refinement 04
Before we retopologize our model, it’s important that the design is fully resolved. Retopology
is a technical part of the process and not an artistic one. It becomes much harder to retopo if
we also need to design at the same time. Go over the whole model and make sure all areas
are refined.
11 - Retopo Setup
ZBrush:
Start off by decimating your model in ZBrush. This allows you to keep the shape and details
while maintaining a low polycount. Export the model as OBJ and load it into Blender.
Blender:
Enable snapping.
Snap To: Face
Enable: Project Individual Elements
Give the model a material and change the viewport display to a saturated color to separate it
from the background mesh.
Add a mirror modifier and enable Clipping. This ensures that the retopo is mirrored and that
it can't cross the center line.
Enable ‘In Front’ under Viewport display. Otherwise you won’t be able to see your retopo
mesh.
12 - Retopology Block-In
Like with sculpting, we are going to be working from general to specific. Block out the major
loops while keeping it low poly. We’re using very simple modeling tools for this, like extruding
edges and merging verts.
Pro Tip: You don’t need to have all the loops planned out before you start to retopo. Doing
so will paralyze you and you won’t get any work done. Get started by blocking in loops and
plan it from there.
13 - Retopology Connecting
Once you’ve blocked in the major loops, connect them up. Using the F key is a great help.
Make sure that all the major forms, like nostrils, eyelids and jawline are all represented with
topology.
There’s no real secret to connecting the loops up. Simply ensure that the loops you’re
connecting have the same amount of spans and bridge them together.
14 - Retopology Refinement
When you have connected the loops up, you probably need to refine the topology a bit.
Relax the loops, even them out and add missing loops. Ideally your topology will be nicely
evenly spaced. Think about topology for sculpting almost as pixels for painting. If you have
elongated pixels, painting would be weird. It's the same with sculpting on elongated
polygons.
You can use the sculpting tools and the smooth brush to relax the topology.
If you need to redirect some loops, it’s a good idea to cut in the loop you want with the knife
tool and then connect it up later on. You are in charge of the topology and you need to
dictate the loops you want. It’s easy for you to take the passenger seat once the topology
becomes complicated. This is also why we need to keep it low res for as long as possible.
Pro Tip: Add Ngons and triangles while working. This makes it much easier to connect loops
up. If you have multiple ngons and triangles, it’s usually easy to connect them and turn them
into quads.
15 - Retopology Ear
The ear is complicated to do, so we’re dedicating a chapter to it. It’s helpful to add a loop
around the ear before starting, as this makes it easier to isolate the ear. Start off with only
this loop visible and then add the main loops around the ear. Then it’s the same approach as
for the head: Connect and refine.
Pro Tip: There are areas where you can terminate loops and hide bad topology for the ear.
Use the ear hole and the back of the ear as these areas.
Vert ID video. This is made for Maya but the concept of a vertex ID is universal.
https://www.youtube.com/watch?v=j6hyEu1r48o
16 - Retopology Finalizing
Before you can finalize the topology, go through this checklist:
- Fill in holes, like the nostrils, ears and eyes.
- Remove ALL ngons. ZBrush does not support ngons and will convert them to tris.
- Evenly space the topology.
- Check for triangles and remove them if you can.
- Apply the mirror modifier and check that the center line is merged.
- It’s often helpful to export your model as an OBJ and import it into a clean scene.
- Do a test-export to ZBrush and make sure it works as it should.
17 - Retopology Horns
When you retopo, keep it simple. The horns look like tapered cylinders, so that's what we’ll
be using as a base. Make a low poly cylinder and simply match the shape to the horns.
NOTE: Make sure that ‘Selected’ is enabled when exporting objs. Otherwise you’ll export the
whole scene.
18 - Reprojection
Reprojecting is the stage where we import our objs into ZBrush to project the shape from the
sculpt onto the clean and new topology. The advantage of this is that we have the same
shape as before but with nice topology.
Tips:
- Store a morph target before you project
- History Project generally gives you better results
- Do the projection on a layer
- Use the Morph brush to remove bad projection
- Mask off areas you know will mess up before you project.
19 - UVs in ZBrush/Blender
Unfolding in Blender is lacking, so we’re going to be using a combination of Blender and UV
Master in ZBrush to create our UVs.
Breaking up the primary shapes is a key focus of these videos. You want to cover every
single part of the model and break it up. This is essential if you want realism. This is also the
time where you can start to break up the symmetry. You’ll get a lot of variation in your work
by disabling symmetry, particularly across the center line.
Put on some headphones, some nice tunes and get to work. There are no secrets or
unknown tips at this point - it’s all about high-quality labor.
Good high frequency will make the model feel realistic. Instead of starting with placing the
alphas in the perfect spot, we’re going to do a primer-pass. This is a quick pass for doing
overall skin breakup to make the surface feel broken up. Once this pass is done, we can
place specific alphas. Particularly for rough-skinned characters like this, doing a primer pass
becomes extra important.
We’re using the standard brush with Spray and a pore alpha from the FlippedNormals Face
Kit. Make sure to do to the work on a layer, as you can always erase from it using the Morph
Brush.
Once we have a base, we’re going over the sculpt with more specific breakup alphas using
the old face from the Face Kit.
29 - Sculpting Pores
It’s now time for the final pores! Merge the layer and subdivide the model up to around 65
mill polys. Next up, go over the whole model with the alphas from the FlippedNormals Face
Kit. The setup is simple. It simply takes time to do.
You want to make sure EVERY surface is covered. Nothing should be smooth at this point,
unless it’s deliberate. Once the pores are in place, make sure to cover the model in pimples
and other surface imperfections. This will add a lot of life to the skin.
30 - Sculpting Finalizing
We’re now working up neglected areas, such as the horns using the same techniques we’ve
used throughout the whole course.
31 - Blender Setup
It’s time to bring our model into Blender! This is where the non-linearity of the project starts.
By bringing everything into Blender already now, we are starting to set up our pipeline,
establishing where data goes to and from, naming conventions, and more. We’re also
starting to work within a specific folder structure, making it easy to scale up the project.
Export your model at the lowest SubD level as an OBJ and export out a displacement map
using Multi Map Exporter. Rename your maps and be consistent in your naming convention.
Load in your displacement map. Make sure it’s set to UDIM and Raw, make a displacement
node and connect it to the Displacement Slot in the Material Output.
Set the Feature Set to Experimental and add a Subdivision Surface Modifier onto the model.
Do a test render and make sure everything is working correctly. The reason we set up
everything this early is to make sure the tech-side of the project is working. If the tech isn’t
working at this stage, then it won’t work at a later stage. Setting up the pipeline now will save
you countless headaches later.
32 - Painter Setup
We’re now starting our texture painting!
In ZBrush, make a polygroup per subtool, merge your subtools (merge uvs enabled), and
then decimate it. Export as FBX with Export Polygroups as Mats enabled.
In Painter, set up the project using the exported model. Use the Blender (starter_assets)
template.
Test that your model is working by painting on top of it with various brushes. If it’s not
working properly, this is the time to fix it. Issues at this stage are usually caused by bad UVs.
Bake your mesh maps.
Texture in a way where you can deliver at any stage. Instead of taking one area up to a final
result, it’s much better to gradually improve all areas. This also means you can test your
pipeline and look development early as well.
Play with their blending modes! Soft light and overlay usually works quite well.
It’s easy for the map to get noisy at this point. Make sure you still have areas where you
clearly dictate the color and values.
Make a fill layer, give it a dark color and put the disp map into the mask. You’ll definitely have
to add a levels to contrast the map up. Paint out the areas you dont want in the color map.
Balance this pass out, as it’s incredibly easy for your maps to get a dirty look. If done right,
you’ll get a lot more variation in your maps, making it feel integrated with the sculpt.
38 - Painter Roughness
Roughness maps are often over-complicated. If your surface details - either in a height map
or sculpted in ZBrush - are done well, your roughness map can be incredibly simple. Since
we front-loaded a lot of the texturing process by making smart masks, creating the
roughness map is very simple.
Make a fill layer which works as a base. Then add more fill layers on top where you either
make them darker (smoother) or brighter (rougher). Don’t worry about the exact values - it
won’t be clear what you actually need until you plug them into a material in Blender. Since
we’re using fill layers and masks, changing the value is trivial.
Ideally you shouldn’t do too much hand painting. If you find yourself painting a lot, I advise
that you make those painted maps into smart masks for future use.
Blend in a little bit of the disp map we exported in the last chapter to make the details pop.
39 - Skin Shader Setup
As we now have a first pass of our most important maps, base color, roughness and
displacement, it’s time to bring them into Blender and test them.
This chapter is essential as it’s where we’ll set up our skin shader, which we’ll be using for
the rest of the series.
It’s impossible to work on maps in isolation and seeing them in shot is essential in order to
know what works or not. Texturing is a non-linear process. You’ll texture for a bit, bring it into
lookdev, get feedback from the shot, continue the texturing, update the sculpt, etc. You never
truly finish the asset. Instead you deliver it at a specific point.
Export your maps from Painter and bring them into Blender. Make sure to set them to the
correct color space. We are going to change our LUT to AgX later on, but for now we’re
working with default sRGB.
Good skin shading is really hard to get right and there are a lot of factors involved. To keep it
simple, we’re going to be using Random Walk (Fixed Radius). Then plug your color map into
the Subsurface Color and use a dark and saturated color for the SSS radius.
I prefer to use a MixRGB node, as I can easily set a color this way, and blend in more maps
in the future if needed. The radius of the SSS is now controlled by the value of the color in
the MixRGB node and the hue/sat of the node controls the scattering color you’ll see in
where there’s SSS, like in the ears.
For the Roughness map, plug this into a Map Range node, which will then be plugged into
the Roughness slot. We use a Map Range node to for additional control of the roughness.
40 - Additional Sculpting
One of the huge advantages of testing our maps and doing a first pass of the render is that
we get a lot of feedback all at once. This is the first time we’re seeing our sculpted details
and texture maps combined in one render. Analyzing the render, you can start to break the
feedback into two parts:
- Sculpting: Do I need to change the sculpt in ZBrush?
- Texture maps: Do I work more on the maps in Painter?
Based on this, it’s clear that we definitely need some more sculpting, like veins and pimples.
This should break up the asset quite a lot.
Export a disp map from ZBrush and bring it into Painter. This allows us to integrate the
sculpted details into our base color.
41 - Painter Horns
The horns have been sorely neglected and it’s time to fix that. Using the same techniques as
for the head, we are going to get coverage and variation. Keeping it simple for now.
42 - Painter Balance
We’re now officially in the Everything-Goes-Off-the-Rails-Stage. The workflow is now fully
non-linear and we’re going to be working on a lot of different areas of the asset. Updating the
maps is a huge part of working with a character, and in this chapter we’re balancing out
various elements and integrating the newly sculpted parts into the color maps.
43 - Roughness Update
With feedback from the last render, we saw that some areas are too smooth and some are
too rough. We can easily adjust this in Painter as it’s set up using Fill Layers. Hopefully this
approach is starting to make sense at this point.
DJV is a fantastic tool for reviewing renders. Make sure to name the images so that they are
in a sequence.
Make it black in areas you don’t want scattering, like bony areas, and white where you want
more scattering to happen, like the ears.
Export the scattering map and plug it into the MixRGB node in Blender. Set it to overlay.
Balance it according to how much SSS you want.
45 - Grooming 01
We’re going to be working with the new hair tools in Blender 3.3 to make the eyebrows, nose
and ear hairs. Keep in mind that these tools are incredibly immature and cannot be used in
full productions yet. That said, for our needs they are fine.
46 - Grooming 02
Continuing with our groom, we simply need to spend time to add hair in the right spot and
groom it. This takes time and shouldn’t be rushed. Add geo nodes once the manual styling
is done to add procedural breakup. The geo nodes we’re using can be found in the folder
structure.
47 - Eye Kit
Using the FlippedNormals Eye Kit, we can easily add eyes to our character in minutes
instead of hours or days. Simply load in the sample file and you have instant eyes. Place
them using the controllers.
Making realistic eyes from scratch is incredibly time consuming and can easily take days or
weeks if you want them to work super close up. We highly recommend getting a premade
eye for your characters, like the FlippedNormals Eye Kit. This will speed up the process
significantly, and you can use them on anything from distant shots to the most close up shots
you ever need.
Bring the map into Painter and use it as a mask for a Fill Layer. Remember to invert it as
well.
49 - AgX
AgX is a LUT similar to Filmic, but it preserves the colors in a much better way.
Download link:
https://github.com/sobotka/AgX
AgX placement:
50 - Hair Material
While the promise of a generic hair material sounds nice, the reality is that there are a
number of issues with the Principled Hair BSDF material. I find that it works poorly for bright
hair, which is an issue for us.
51 - Lighting
Working more on the lighting, we need to first find a camera angle we like. You always need
to light based on a specific shot. There’s no such thing as frontal or rim lighting in a universal
sense. What’s a rim in one shot, is a frontal light in another.
Hide all lights apart from the HDRI and make sure there’s a bit of ambience in the scene.
Then use two area lights which will serve as Key and Rim lights.
In the camera, enable DOF and play around with the Fstop setting. Lower numbers means
more blur. Enable transparency of the background, so that we can change it in post.
52 - Map Balance
Like with the last render, this render also provided a lot of feedback. We will address this by
balancing the various maps as well as adding more visual variation to the eyebrows.
The changes are subtle at this point, but they do contribute to the whole.
53 - Forehead Refinement
It’s easy to misdiagnose the feedback from the render. If you need more variation in an area,
it’s tempting to do this exclusively in texturing. However, in a lot of cases the issue has to do
with sculpting. In this case, the forehead needs more sharpness and we’re addressing that
with additional sculpting.
54 - Final Render
Set the resolution to something higher than you need, the samples to the point where you
don’t need to worry about noise, enable GPU rendering (if you have that option), let it render
and go for a walk.
If you need to render for animation, and you have thousands of frames it’s definitely worth
optimizing the render. However, for a single render, it’s usually not worth the trouble. We
would spend far more time optimizing the render than the render time itself. Keep it simple.
Disable Denoising. It’s important that when you’re working with assets which are heavily
textured that denoising isn't’ smoothing out the final render. I much prefer more noise than
the asset we’ve spent days on being softened.
In our case, we’re going to be playing around with various Color Lookup adjustment layers,
Brightness/Contrast and Photo Filters until we find a look we’re happy with. If done well, you
can take your character up to a whole new level.
That’s It!
We really hope that you enjoyed this course! If you did, it would be a huge help if you could
make a quick review. That really helps us :)