I am very impressed! It is easy to see you are on your way to a well-deserved wonderful future.
An absolutely great read, thank you for this. Really lays a foundation on how to go about the learning process.
Hi Matthew and Mr VFX, I’m currently researching this topic of decomposing images into shading and reflectance layers. I would love to learn about what you are trying to use this for to learn more about applications for this technology.
Aviral Agarwal talked a bit about the way he works on the production of awesome 3d characters.
I am an artist working primarily in the production of VFX, games or any medium that requires the use of CG art. I come from a traditional arts background before I transitioned into digital production. I completed formal education at Gnomon School of VFX and the Savannah College of Art and Design. I am currently involved with a company called Pinscreen, where we are breaking new ground in CGI with the use of Deep learning/AI technologies.
Creating believable humans
I believe it is all about developing strong foundations. Understanding the relationships behind the underlying structure is essential to crafting a believable human. I highly suggest starting there and everything else will layer over this foundational structure more readily.
It starts with gathering reference for the subject I wish to pursue. Then the sculpting process begins in ZBrush. I start by working out the primary forms. These are the features that stand out at a distance and are necessary to classify the subject as human. Most of my time during the whole sculpting process is spent here. I also work with a fairly low-resolution mesh. This helps me develop the forms more efficiently by enhancing my focus on the essential anatomy. After having reached a satisfying stage with the primary forms I take the sculpt into Maya and give it proper topology before bringing it back into ZBrush. Then I develop the secondary forms that make the subject unique. It’s the stage where the peculiarities of the facial features are developed and the likeness, if that’s the goal, really starts to come about.
That takes me to the next stage which is the tertiary forms. This is the most exciting part and where all of the hard work done during the previous stages really pays off. Really paying attention as to how all of the anatomies has been laid out is critical. For example how the muscles and fatty tissue are hanging and layering over the skeletal features. Depending on the age of the character these tissues have very different characteristics. For older people understanding how the fatty tissue deteriorates and affects the skin lying on top is important. By getting a good feel for this, it becomes possible to sculpt believable wrinkling, skin folds etc.
Getting to things like skin imperfections and pores I mainly sculpt the more aesthetically important features that add to the character. Here I am using some very simple brushes and alphas that come with ZBrush.
The next pass of skin detail is done in Mari using Texturing.xyz maps. These maps really help develop the more physical structure of the skin. This lets us render more believable specular or reflectance properties of skin.
I am producing the hair using XGen in Maya. I am using the Interactive Groomable Splines method. It allows me to work with and visualize the hair with a lot of parity with the final render output. The basic workflow is I start grooming hair using the guides modifier. Here I am placing and sculpting all of the guides that will be responsible for the overall shape and flow of the hair. There can be a lot of guides, in the end, depending on the complexity of groom. Next, I setup region masks which help define a regional flow for the hair. This can be used to define hair partitions and give more specific zone control for the groom. After getting the overall style and structure of the hair, I add another Sculpt modifier layer on top to further characterize the hair. Then I move on to adding modifiers like clump, cut, noise to add further interest to the hair and make it seem more natural and lifelike.
I do transfer all of my sculpted detail to the final render. To start with the look development process, the displacement and cavity maps are baked out from ZBrush. Then in Mari using maps from texturing XYZ I projection paint the tertiary and micro detail maps. The amazing thing with Mari is you can paint truly massive maps and preserve most of the detail. I also break up the incoming 17K texturingXYZ maps into chunks before bringing them to Mari. This makes it easy to manage them while projection painting. These tertiary and micro detail maps help break up the specular on the skin in a realistic manner. Using Mari these maps are composited into displacement, bump, specular maps. The maps altogether are very important for getting the correct reflectance from the skin while rendering. I then hand paint an albedo map using the previously baked and painted maps as guides and masks. All in all my textures are pretty hi-res at 8k and above to maintain really small details.
For the eyes, I have distilled my understanding of its anatomy into a very simple base 3d model. It consists of two layers. The first layer represents the iris and the sclera and the second layer is an overlaid piece of geometry representing the cornea and conjunctiva. It is essentially separating the fleshy and transparent components of the eyes. It’s really important to understand the visual properties of the tissues that make up the eye and their assembly so that we can make such abstractions. Equally important is how the eye is placed in the socket.
For every portrait, I have done there is a lot of subtle adjustment needed in their placement and orientation to try and capture the emotion. I tend to do this even till the very end while I am rendering a final output. Being able to iterate at any stage helps me get it just right.
It all comes down to how well one is able to break down and abstract the materials that need to be rendered. I tend to focus on really getting the specular component correct before moving on to other aspects of the material. Color/Albedo most of the times comes last and is at the least priority when it comes to determining the look of a particular material. I am using Arnold 5 for my renders. Also my render resolution is higher than 4K to capture the nuances of skin and other materials. A higher resolution also gives a lot of room for adjustments in the post process. For the skin I am using the aiStandardSurface shader. There are some really incredible advancements for skin shading in Arnold like the random walk SSS. It really helps to pop details and thin surfaces show believable translucency without the need for painting maps. So modeling and sculpting naturalistic features really pays off. For lighting I use area lights and mesh lights. The setup is very similar to a studio lighting setup. Mesh lights need to be used for Arnold to calculate caustics. So that there are some caustic effects on the eyes. I try to get my raw render to look as close to a desired final result. But inevitably some post processing has to be done to get the final aesthetic. For this I render out different passes or AOV’s like diffuse, specular, reflection, sss, lighting, transparency etc. These AOV’s are taken into Nuke and composited into a final beauty pass. Here the focus is mostly on developing areas of contrast and also critically adjusting the amount of information visible. Mostly consisting of simple grades and color corrections so that every component sits pleasingly together as a whole.
Aviral Agarwal, 3D Artist
Interview conducted by Kirill Tokarev