Creating a Photorealistic Eye and Skin in Maya, ZBrush & XGen

Kirill Kliat told us about the modeling and texturing process behind the eyes and skin of the Keiko project and offered some tips about working with hair.


Hi, my name is Kirill Kliat, I am currently a CG supervisor at Vivix. I am a generalist with over 10 years of experience. When I was about 15 years old, I got interested in art. I formed my folk metal music band, started to learn Photoshop (designed UI for music software, for example), and used to write poetry. The next step was taking part in video shooting and editing, which later on led me to computer graphics. I had a variety of tasks from modeling, rigging, and compositing to FX design and animation.

Today artists have access to educational videos on YouTube, tutorials, articles on websites, and specialized forums.  But in the past, it was not easy to find good sources, and junior artists had to solve problems on their own. As a result, they had to experiment with the tools and gain expertise. And now, I feel confident and ready for challenging tasks, and every day I try to improve my work and apply new technologies. In my carrier, I have had an opportunity to participate in the production of such films as Legend of Kolovrat, Frontier, as well as various series, advertising, and game engines. But personally, I feel the greatest pleasure and enthusiasm doing character creation.

The Eye Close-Up Project

Today, I would like to tell you about my Eye Close-Up work, which is actually a part of a major future project Keiko based on a Japanese actress. In the project, I continue working on posing and lighting and I am ready to share this work with you later when it is finished. It started as usual from the desire to make my art better, more realistic than the previous one. I have spent a lot of time and effort because I think the eyes of a model are the most complicated part, and, as the saying goes, the eyes are the reflection of the soul.

The world has changed after we got access to HQ textures from companies such as Texturing XYZ and 3dscanstore. I have used both sources: for the eyes – XYZ, for the skin – 3dscanstore. The skin was done using the wrapping workflow: I transferred it with R3DS WRAP (you can see some tutorials on 3dscanstore) and adjusted it until I liked the result.

I can show you a trick: I do not like using HD Geometry in ZBrush, but often, you just can't work without it because the limit for SubTools is 100 million polygons. The solution is to have your basemesh (1st subdiv level) in a poly count of fewer than 25000 polygons. That value lets you subdivide it one more time.

I made the head and the hands denser than the body hidden under the clothes, plus you can always remove the head if you need. Besides, I have a collection of custom brushes/alphas gathered from the internet and made by myself, they help to make my artwork more unique. For example, lips often look the same in different artworks, but custom brushes solve that problem. Anyway, I strongly recommend working with the details at the very end. First, you should pay attention to the anatomy and proportions and then switch to the details and textures.

The Skin

The skin shader settings are pretty obvious, except for maybe Caustics and Indirect Diff/Spec settings. But the secret is in correct textures, such as Roughness, Subsurface Scattering weight, etc. The main challenge is how to get proper values: for example, you have made a render and see that there are not enough pores on the skin, so you add them through blend modes to the color texture and so on. It is very important how all these nuances change the impression.

I downloaded 3dscanstore textures, then added procedural noises in Mari, added displacement details to the Color and Roughness maps, added makeup layers, and did a lot of tests. I always use Microdisplacement maps designed by XYZ. Last year, I actively used the ACES workflow, it's great that it is supported by default in the latest versions of Maya now.

It is very important how your assets are modeled: for example, if an ear thickness is incorrect, the results in the skin shader will be unrealistic. Be ready to monitor references constantly.

The Eye

The eye consists of 2 parts: the iris and the sclera. It is pretty hard to get correct values of the SSS radius in such places as eyelids: they can be too thin and the light will give the wrong colors, the devil is in the details. But it is great that you can set up the asset once and use it many times later, sometimes you just need to adjust it. For example, I wrapped every eye from XYZ through a smart layer in Photoshop, and it helped to edit all the layers at the same time.

The Hair

I do hair in XGen and try to make it less artificial and more lifelike: different thickness, different width, applying noise to roughness and color channels, a gradient to transparency channel to simulate hair sticking to the skin, adding slight AO imitation to skin color texture. I recommend searching some big resolution references on Freepik or Flickr and using PureRef. 

Here are some tips on how to work with hair:

  1. When lookdev is done, I convert eyebrows and eyelashes into geometry. It helps a lot at the rigging stage because when you do blendshapes in XGen, there can be a problem.
  2. If you use Arnold, I recommend using standins (procedural), especially when you work with XGen. For example, you can have two scenes: the first one with skin shaders and such, the second one – with hair only (XGen). Use blendshapes to get XGen scalps animated, use nHair to get XGen simulated, and export results as cache to the first scene, it will render without problems on your local machine or on a render farm using standins.

The Final Render

One of the main challenges for an artist who tries to get ultra-realistic models is working with lighting. You must use all available HDRI/Area lights you can. The point is not to render in exactly one environment but to understand how your shaders should work in reality. For example, how should skin react to one Key Light? Should gloss be stronger or less? And that is a quest: without direct reference, all you have are your hypotheses, which hide fundamental intricacy.

I do a lot of tests and corrections on shading/texturing to find the references I don't have. This balance is the secret to success. I advise you to try 3D scanning with HDRI capturing, to take photo references and reproduce them, or at least to buy lighting references on ArtStation.

As I use ACES and Arnold's Light Mixer, I do not spend much time on post-production, just a bit of chromatic aberration and atmosphere with blend modes.

I would like to emphasize that Light Mixer is very helpful. First, you can create about 5-10 lights, then rotate them around assets, and finally, start rendering. After that, you can change the colors of the lights and the intensity in real-time. But I have to warn you: when lookdev is done, always disable unnecessary lights because a lot of them mean longer render time.

Good luck!

Kirill Kliat, CG Supervisor

Interview conducted by Arti Burton

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more