Kestutis Rinkevicius did a breakdown of his recent realistic character project Queen and shared some tips for working with face, hair, skin textures, and more.
My name is Kestutis Rinkevicius, and I’m a Senior Character Artist currently working at Playground Games. Before joining the studio, I worked on various games, VFX and commercial projects, - one of my last commissions was character work for the new Total War: Three Kingdoms developed by Creative Assembly.
I've been interested in art and computers since childhood, and video games seemed to be a perfect crossover between those two things. I was fascinated by the idea that you could create entire worlds for people to enjoy and explore. Over the years, I tried a lot of different things from programming and rigging to archviz but, by the process of elimination, I eventually found my path and specialized in Character Art. I’m was born in a very small country, so learning 3D modeling or character art at any kind of university or college was not an option because there were no such courses. As a result, I am completely self-taught - everything I learned was taken from tutorials, forums, and books. At the beginning of my career, I was lucky enough to land my first job at a small outsourcing studio which gave me a chance to work on various projects and quickly learn necessary skills.
My latest project Queen started with a quick dynamesh sketch from a sphere, but I decided to take it a bit further to learn rendering in Arnold and hair grooming. My goal was to take something from a ZBrush sculpt to a final render while learning new techniques. I usually structure my personal projects around learning something new, it gives a good challenge and keeps me motivated. Another personal goal was to explore and learn a few tools for cinematic art to improve my work - since I am primarily a game character artist, I am more used to the traditional game art workflow. In general, I think it’s very important to keep up to date with the latest tools and software and try out different workflows - this knowledge and experience can be really helpful in the future.
The face is one of the hardest things to do. I wish I could say there is a secret menu in ZBrush with magic tools that help you sculpt a great face, but in fact, it all comes down to practice, practice and more practice. In general, my advice would be to study anatomy, from the underlying skull structure to the muscles and fat pads that make up the face. Don’t focus too much on the little details, pores won’t save your model if the primary shapes are not working. Also, if you’re a digital artist, grab a chunk of clay and try sculpting in a different medium - it really opens up your mind when you lose digital helpers.
In personal projects, I usually start sculpting from a dynamesh sphere. I really like the freedom it gives you - you don't have to worry about anything but the shapes and proportions. In a production environment, you might need to work from existing base meshes, so I find it very useful to start personal work from scratch. It helps to keep my sculpting skills sharp. The only thing I reuse nowadays is a set of eyeballs that are sized and placed correctly. After all the main big shapes and forms are defined with dynamesh, I just use Wrap3 to retarget my existing basemesh onto a new sculpt.
Some advice on facial sculpting:
For the hair, I used Ornatrix instead of xGen. I must admit I tried xGen first, but after trying both, Ornatrix felt a bit easier to work with as it had a few very cool features xGen doesn’t really have. For example, to create a randomness effect you need to write expressions in xGen, while in Ornatrixm these things are just built into the controls, so it makes the process much more natural and more intuitive. Another good thing about Ornatrix is that the groom is contained in a node in the Maya scene itself, while xGen creates a lot of additional links and sidecar files which often lead to project corruption. It happened a couple of times while I tried xGen for the project and it was one of the reasons that pushed me to look for alternatives.
I am by no means a hair grooming master as I am still learning myself but I can mention a few tricks that helped me in this project:
For creating objects like the crown and the armor, my process looks more or less like this:
I blockout the shape and design in ZBrush with dynamesh. In the blockout stage, I really like to have complete freedom and worry only about the shapes, proportions, and design. The topology and UVs are left for later when the design is complete.
When I am more or less happy with the design, I do a quick retopo pass, but mainly for the armor and other parts that need to have clean edges. For more organic shapes, I just use Zremesher. In production, I wouldn't use Zremesher but for personal projects, I find it a good time-saving shortcut.
The next step is UVs. I won’t go into too many details about this process itself as there are plenty of tutorials out there, but one important thing I always consider is the UV orientation. It is best to keep the UV either horizontal or vertical. Weird arbitrary rotations will make it quite hard to create realistic materials.
To create ornaments and similar things, I create a black and white mask texture with the ornaments I want. Then, I just convert it into a mask and inflate the unmasked part.
After UVs are done, I use folders in ZBrush to group and organize my ZTL file so that each folder contains only the subtools from the same texture set.
I use Multi Map exporter in ZBrush to bake Displacement, Normal, and Ambient Occlusion maps. Since I organized my scene, I can use MergeMaps function and combine the displacement maps of all the subtools that belong to a specific texture set.
My favorite texturing tool is Substance Painter. I usually import Normal and Ambient Occlusion maps, then bake a curvature, and position maps in Painter. This gives me the ability to fully utilize all of Painter's filters and materials. However, ZBrush's Normal map is only used for preview in Substance Painter, I don’t use it for rendering.
Texturing itself is pretty basic: I try to keep it simple and stick to default materials and smart masks that come with Substance Painter. I find them more than enough in most cases. The key here is to manually paint some details as the default masks just look a bit generic.
When it comes to exporting my textures out of Substance Painter, I remove the Normal map I had previously baked in ZBrush so that Painter exports a Normal map with scratches and micro details without the big shapes. I use the default Arnold preset in Painter.
Texture rendering in Arnold is pretty straightforward - you just need to make sure that the textures are loaded in the correct color space. The base color needs to be set to sRGB, and all the other maps such as metalness, roughness, bump, and height need to be set to RAW. A more detailed breakdown can be found here.
For fabric, I used the default materials that come with Substance Painter. 8K texture resolution + fuzz on top was enough to give the sharpness I needed for this project.
To add details, it is possible to use the Heightmap from Painter and combine it with the Displacement map from ZBrush. I used nodes such as plusMinusAverage and BlendColours to create the shading network that adds the details onto the sculpted displacement with the ability to control the overall strength for some fine-tuning.
For the facial details, I used one of the multi-channel faces from Texturing XYZ and used their wrap technique to get the details. The full guide is available here. I wasn’t happy with the sharpness of the details from the displacement projection, so I identified a few ‘hero’ areas on the face such as the tip of the nose, cheeks, forehead, and lips and made a detailing pass to make things sharper in those specific areas. The face texture itself had 4x8k UDIMs and the face had around 27m polygons. I think that it is more than enough for most cases, but as a final step, I used a tiled noise and added it on top of my sculpted displacement just to add that extra little sharpness.
For the color map, I painted everything from scratch with polypaint in ZBrush. Using photo projections would be much faster and easier but for learning purposes, I wanted to do it from scratch. For getting skin color right, I used the multi-channel diffuse as a reference for the color tones. Most of the color texturing was done straight in ZBrush, plus I used Mari for some color and saturation adjustments.
For specular and roughness, I like to keep things simple. Specular weight has a little bit more variation for different areas of the face like the tip of the nose or the lips but generally, it is very simple noise. The reason for that is that once you have a highly detailed model with pores and micro details, it naturally breaks up the light and makes the specular spread where the model is bumpier. Also, when rendering with Arnold, the light size affects the tightness of the specular. Digital Emily project was my main source of reference when it came to nailing down the specular response of the skin. I highly recommend it for anyone who wants to get into realistic character rendering.
Overall, this was quite a challenging project for me because I studied new things such as Arnold rendering and hairstyling. There were a lot of ups and downs but I learned a lot and I will apply the knowledge to my future artworks. I like to take notes during my projects, especially during those moments where something is not going as planned. After the project is finished, I usually review my notes, then think about the things that went well or need to be improved. This helps me to grow as an artist with each project I undertake. I hope this article has shed light on character art techniques and answered some of your questions.