Hello there! My name Joshua Gouw, Or Joshua Wu which is more often used on my social media. I work as a digital sculptor at XM Studios.
In this article, I will share my workflow of taking the XYZ skin alpha package into my Jinx fan art creation workflow.
TexturingXYZ has released new amazing packages such as VFace to make workflow so much faster, but this time around, I decided to go back to the fundamentals to understand more about skin creation.
2.JINX FACE SCULPT
The very main goal of making a fan art of Jinx was to jump into the cinematic/animation industry. My idea was to create a portfolio piece that shows both realistic and stylized character modeling, Two birds and one stone. Last year, Arcane was released, and I was so captivated by the series. Jinx is a very well-known character and a very lovable one as well. So I decided to utilize that and challenged myself to bring her into a more realistic style while also maintaining the essence of her character and personality.
Before I started with the projects, I did a lot of research to establish the art direction of this project. I study Jinx's characteristics not only from the original arcane show but also from some fan arts, cosplay, as well as illustrations. That helped me to analyze different types of approaches people use on the character. I believe working on a plan could streamline the art direction process significantly.
I started using a dynameshed sphere in Zbrush and then slowly forming up her facial features. At that point, I was not being too accurate and faithful to her original design. The goal was to quickly generate a base to avoid excessive planning and overthinking.
Just like painting, a blank canvas can be pretty intimidating. In this case, a grey sphere was the scariest thing to start from. I usually begin my project using a base to speed up the whole process but sometimes, starting fresh can help me go crazy with iterations and the decision-making process.
Once I got the rough proportion done, I came back to the reference and study the proportion further and ask myself several questions such as how far apart are both of her eyes? What about the distance between her mouth and her nose? Then I write down all the notes so that I can later use this information as my starting point to alter those proportions closer to a more believable one.
From the very beginning, I already set out to replicate her calm troubled look from the show. I want the audience to feel what she is feeling; unsettled, confused, and angered in a weirdly subtle way. She is broken inside and that's why so many people can empathize with her.
The biggest challenge was to translate her face from a very expressive stylized proportion into something more realistic and believable, one of my biggest inspirations was James Cameron's Alita from Alita Battle Angel. Although uncanny, I think they did a great job translating Alita from an Anime character into a deeply humane character.
One thing that I learned while making her face was that I did not have to make her look photoreal, all I need to was to make her look more photographic. Meaning that her facial proportions are still so much different as opposed to a real human being. Her eyes are too big for a real human being, her head size was significantly larger compared to her body proportions as well. That helped me in achieving her final look.
Once happy with the Primary and secondary forms, I moved on to the tertiary and the micro details. The details are the reason why she feels photographic and believable. this is the key to convincing people that my take on Jinx can also belong to the real world. Every pore, indent, scar, every crease needed to be there.
I combined several techniques and brushes to achieve the details needed. I used 175 skin alphas from Texturingxyz, femaleFace_20s_01 to be exact. Zbrushguides skin brush set also helped me push the imperfections of the skin. I applied the alpha using a standard brush with different kinds of intensity depending on the look I need.
NOTE: When you are applying your alpha using a standard brush geometry, it is important to change the mid-value of the alpha to 50, depending on the alpha used, you can also turn on the surface button to automatically pick the right mid-value. However, it is not always accurate.
As mentioned, this method is not the most efficient as there are so many better ways to create a believable skin. VFace will be my go-to method for my next project.
Once I applied all the alphas on the face, I started sculpting everything else by hand using the same brushes I blocked her out with. What I did back and forth was test my model in Arnold and try to feedback myself.
Just like the head, I wanted to stay faithful to the original while maintaining the realistic aspect. The first step I did was research, I would look into both real-life hair photography as well as a CG rendered hair from movies and games. Finding the right balance between the who would be the perfect approach for me. Then, I moved to Zbrush to quickly block out the primary from before retopo it to create a strong, simple, distinct shape.
The shape of the block out itself needs to be very readable so that when I did the quick render test in Maya, it would create the necessary shadow on the rest of the model to see how it would react to the face. Quick tip: In the early stage, try to keep everything as simple as possible. The perfect blocking stage is when you can read the overall shape from far with very simple geometry.
Once I am happy with the blocking, I brought it to Maya to create the final strands of the hair using Xgen. each using its scalp geometry. I start my guides off at the front part of the hair and try to get the overall shape then start adding rows of guides under the first set with each row overlapping the next.
In Maya I made a few separate hair descriptions. Several parts for the front bang, main hair, braids, eyebrows, eyelashes, peach fuzz, and also a baby hair, each using its scalp geometry. Make sure to give enough space between each guide that you place on the surface.
For long hair I usually use 3 clumping modifiers, for the 1st one I clump to guides, the 2nd is for mid-range clumps and the 3rd is for the tiny clumping that happens to a few individual strands. After this, I use a cut modifier to soften the ends and then a noise modifier with different values for the overall hair and the stray hairs with a small expression. The last one is noise, noise modifiers are often used last to blend each strand to make them look more natural.
If you want to learn more into grooming I highly recommend you check Jesus Fernandez’s Youtube, he has some free videos on YouTube covering the very basics of XGen. A perfect way to get started.
Substance Painter and Zbrush was used to texture the whole model. I transferred a scanned Albedo data to the face in Zbrush using ZWRAP. However, the process did leave some artifacts while projecting. I cleaned up everything in Substance while also adding several layers of color corrections and hand-painted details on top. Again, I started very simple and slowly get into the finer details.
Jinx's skin is a little paler than the others as she looks unwell and tired. One particular part of her skin that I was so having fun texturing was her eyes. I would try to find the perfect balance between her exceptionally dark-colored upper and lower eye shadow, eye bag, as well as how wet would the overall eye look due to oil, sweat, and dirt. I would try to mimic a real photo of depressed and sleep-deprived individuals and then exaggerate the intensity accordingly.
For the final maps, i used Albedo, specs, roughness, and coat map.
I tried my best to keep my shader as simple as possible. It might seem complicated but it truly is pretty simple.
First is the displacement map, since I did not use any pre-existing scanned displacement map, I had to extract it out from my Zbrush model. I make sure I have the correct scale on my export settings and export out my model at Subdivision level 2 because it is the one I use in Maya, and my 32bit .exr displacement map at 4k.
All I did was plug in the displacement texture to a multiply node to adjust the intensity of the displacement accordingly.
For the Specular, roughness, and coat are plugged into Arnold's aiRange. aiRange serves as the intensity controller for each map. While the albedo was connected into an aiColorCorrect node. This lets me grade all the maps in real time, which is an absolute time saver when doing lookdev.
Some people prefer doing everything in their texturing software to make the lookdev process a lot simpler, but I find it easy to control everything in one software. But I also go back and forth between Substance and Maya depending on the needs.
As for the shader, I downloaded a set of dirt textures from Megascans and plug them into an aiStandard Surface, just like I did with the face. Then, I plug both the skin shader and the dirt shader into an AiMix shader to blend the two. The intensity of the dirt mask is controlled by a black and white mask. The same applies to the eyeshadow mask.
Almost final render test:
5. FINAL PRESENTATION
The final presentation is extremely important as it's the very first thing that people see. There are many ways to present your character, but I believe putting your character in a fully lit scene will open up so much more potential in your storytelling. In fact, earlier in the process, I wanted Jinx to be set in a greenish-colored environment which was inspired by the overall vibe of the undercity from the original series.
However, it ended up being excessive as it changed the look of her surfaces too much and killed the realism. So to make it simpler, I decided to play around with different shades of blue.
One of the best decisions I did on this project was to ask for feedback from a friend in the middle of the project. It's good to have other people's opinions as more often than not, their opinions will help you tremendously.
Another shoutout to Örs Bárczy for sparing me some of his precious time to provide me with some really valuable feedback and notes on how can i improve the lighting setup.
There was a scene earlier in the series where Jinx was first shown in her grown upstate. I loved how monochromatic and gloomy the scene was as it represents jinx very well and I decided to go with that one. I found a backplate image from Artstation and utilized mostly area lights in Maya. The scene was made out of one HDRI that serves as an overall atmospheric light, keylights, rim lights, fill lights, and several fake bounce lights.
For the rest of the scene, only a single HDRI was used for each lighting scenario.
There are billions of people alive, and each person's face has its unique characteristic. I am not the best at anatomy and facial structure, but I learned how to strategically analyze a character. For this project, I did not use any real human face as a reference, letting me stay close to the original character and keep improvising as I see fit.
Here are some of the important points that I learned throughout this project. - There is no right or wrong method, other artists would probably be able to make a very different Jinx yet still be faithful to the original material. - Human face has a very complex structure. Therefore, it takes time, always look for constructive feedback from people around you. - It's a trial and error process, keep refreshing your eyes. - Learn to observe. E.g. Eye distance, face length, chin size, next length, etc.
Thank you for reading through this making-of, I am extremely thankful for the positive response, it is not the most detailed breakdown but I could made but I really do hope you can learn a thing or two. Thank you for texturingXYZ for this opportunity.