Hi, my name is Rajitha, I’m currently working as a Freelance Character Artist based in Brisbane, Australia. In this article I will be talking about the process of creating my most recent portrait (Gold) and how I utilized VFace in my workflow. VFace frees up artist time, instead of cleaning up maps and projections, most of the time can be spent on the much more fun and creative tasks.
This project actually started as something different (originally was going to be Samus fan art with a likeness of Isamaya French), but ended up getting side tracked on pintrest and here we are. I was inspired by beauty photography, especially ones with a strong emphasis on make up. As usual, I start off with a sculpt. There’s not much to say about it other than working your way through the hierarchy of forms. Sculpting has more to do with having a feel for what looks good and is anatomically correct and less to do with a step by step system, since it's quite an organic process. It's important to get the sculpt into the lighting scene as soon as possible. Assessing your sculpt in a proper camera view and lighting can help spot any glaring issues early.
Since I was using my own mesh, I ended up wrapping the mesh that was provided with VFace to my own to transfer the textures (you don’t need to do this, since the VFace mesh comes with well optimized UV’s, using the provided mesh to sculpt is more than okay). I did this using R3DS Wrap: https://texturing.xyz/pages/vface-docs-2-2-a-wrap-r3ds). However, while it’s completely possible to transfer textures using Wrap, for the actual process of transferring, I decided to use XNormal: https://texturing.xyz/pages/vface-docs-3-3-bake-xnormal
After I’ve transferred the textures, I bring them into Mari to work on. My initial wrap wasn’t too bad, however I did have some minor errors in projecting. I cleaned these up in Mari while also adding layers of hand painting to get the desired look in my render. While I was going for a clean and produced look in my final render, I still wanted to keep a natural look in the skin, therefore I wasn't as heavy handed with the clean make up layers.
Specular, Coat and Roughness
Since the displacement map that comes with VFace is extremely high quality, there’s almost no need to paint roughness maps. The roughness is generated by the displacement itself, which is a far more physically accurate way of doing things. In this project, I opted to only paint the roughness for the Coat and weight maps for Coat and Specular.
Firstly for the roughness, I utilized the ID maps that come with VFace. These are RGB maps that isolate certain areas of the face. These are quite handy since there are a multitude of ways to use these maps. They can be used in lookdev where values can be adjusted in real time, but for this project I used them in Mari. Splitting the RGB channels to their individual layers, I used them as masks to control the roughness in areas of the face.
A similar process was used both for the Coat and Specular weight maps. VFace comes with a RGB utility map that is channel packed just like ID and Displacement maps. The utility map consists of melanin, hemoglobin and cavity maps. The melanin and hemoglobin maps can be used to color grade the Albedo, however, that was not necessary for me.
For the Displacement map, I didn’t really touch anything other than painting out areas such as the inner eyelids, eyebag and mouth with a 50% grey mid value. Small fixes and reprojections were necessary in some areas as well. But the least amount of work was done with the Displacement, since it works great straight out of the box.
I originally painted the makeup in Mari, however, I realized it was easier to achieve the desired results just through the shader, so I decided to only export the masks for Mari and use them in lookdev to do the makeup on a shader level.
When I’m happy with the textures, I export them for lookdev. All maps are exported out at 8k and except for the Displacement which is exported at 16k. I started my lookdev with the provided HDRI that comes with VFace before I moved on to my own lighting. First thing I set up in the shader is the Displacement, where I combine the VFace export from Mari with my hand sculpted Displacement map from ZBrush.
Albedo,Weight and Roughness Maps
All maps with the exception of the Displacement are plugged into Arnold’s utility nodes. The Albedo (and any other color maps) are connected into an aiColorCorrect, and all the greyscale maps are plugged into an aiRange node. This lets me grade the maps in real time, which is very useful when doing lookdev. The better the maps and the sculpt are, the easier and less complicated the lookdev becomes. Therefore, I go back and forth between Mari and Maya to make sure the maps are solid, while also fixing any issues in the sculpt in ZBrush (insteading of using weight maps to fix them in lookdev such as SSS leak). The gifs below show my final maps after grading and the render passes.
The roughness for the Specular was left at 0.5, since I wanted her face to look a bit more wet, usually I would have this base Specular value at around 0.6.
For the SSS radius, I did not use any maps, instead I used a dark orange color for it. For information regarding this can be found in Arnold’s documentation.
As mentioned previously in the textures section of this article, for the make up, I painted the isolation masks in Mari and imported them into Maya. Using the aiLayerShader node, I plugged in the multiple shaders I had assigned for the make up, having the skin shader as the base layer (layer1, in the image below I unplugged the skin shader, just so I can isolate the makeup for visibility). Any shader after the skin was controlled using the masks that were painted in Mari.
The shaders for the makeup are quite simple. To achieve the glitter look for both the gold and silver materials. I used an aiFlakes node, the output of that was connected to the “normal camera” attribute in the shader.
Just a side note, at the time I was writing this, Texturingxyz had released an add-on pack which are ID maps for the makeup. These are super handy and saves time on painting them yourself. These can be found here : https://texturing.xyz/collections/vface-add-ons/products/vface-ids-makeup-pack
The lighting process was quite simple. I used a 3 point lighting setup, with an additional light to illuminate the backdrop just to break the consistency in the environment. It took me a while to settle with the lighting, however, I had a good idea of what I wanted.
Most beauty photography I referred to as a guide didn’t have harsh shadows. They aim to have the majority of the face lit, usually with a soft light. To achieve this, both my Key and Fill lights are quite large in scale as this helps soften the shadows. I have the intensity of the Fill quite low, to reduce the intensity of shadows while still keeping some form of shaping that is casted by the Key light. Losing all the shadows will cause the image to look flat. In some instances, flat lighting is desired, however, is not what I was going for.
I hope you guys learn a thing or two from this write up. I enjoyed breaking down my process. Also thank you to Texturing.xyz for this opportunity. If you are interested in more of my work or want to ask any questions, you can reach me on ArtStation or Instagram.