Tzu-ming Ho shared the working process behind the Wengwu project, explained how the character's face was sculpted, and discussed the challenges behind the outfit's texturing.
Hello there, I’m Tzu-ming Ho, I’m a 3D artist from Taiwan. I joined a game studio as a junior artist in 2015, lucky for me, I got an opportunity to get involved in many big titles immediately after stepping into this industry. My work is to create models and materials/textures for game assets, environments, and props. It’s always required to achieve very high quality, and we have to deal with projects on tight deadlines.
I’ve participated in AAA projects such as Resident Evil 7: Biohazard, Monster Hunter World, Monster Hunter World: Iceborne, Shadow Of The Tomb Raider, and Death Stranding. Thanks to years of development, I've gained more solid professional 3D art skills.
The Wenwu Project
For many years, I have been fascinated by CG celebrity likeness attempt works on the internet. It’s amazing how the artists can nail the look and achieve photorealistic results at the same time, they’ve inspired me and I wanted to challenge myself to create my own one as well. And finally, with years of 3D art experience, I think I got enough skills to fulfill that goal, so I started this project.
In the beginning phase, I wanted to pick a reference that not many artists have tried but at the same time, I wanted people to recognize who the character is, so later, the idea of making Tony Leung Chiu-wai crossed my mind. In his recent Hollywood blockbuster Shang-Chi and the Legend of the Ten Rings, his performance was just so impressive that it made the global audience know how amazing he is. So I think this character would be interesting to work on, and at the same time, as an Asian, it was great to pay my tribute to this legendary actor.
At first, I collected a lot of reference images of Tony, I put them on the handy tool PureRef so I could use up my limited screen space to work on multiple software at the same time. I tried to find as many images as possible, from front angle to side, closeup to half body shots, even the very unseen angle. It’s also important to focus on the images of the person you refer to showing similar age in your project as people do look with huge differences over time.
Once the reference is ready, I started sculpting the head in ZBrush. I created a general human head first, at the same time I tweaked the overall proportion, and slowly made changes to the other facial features, basically, starting to create the likeness.
At this stage, I just focused on primary shapes such as the distance of the eyes, nose, and mouth, zygomatic bone shape, width of cheeks, and jaw. Then I moved on to secondary features like the shape of eyelids/eyesockets, nasolabial, nose, etc. making them closer to the reference.
I think this stage is the most important effort of the whole process, it’s also the most struggling part for me. For example, when I was working on sculpting Tony’s face, it took me a lot of time to figure out how exactly his face should look from different angles.
One thing really helped is, at a certain point, I realized that it was the focal length setting in ZBrush that affected how my eyes tell the perspective. I didn’t feel right about the shape until I changed it to 85. However, if you find the proper number that works fine for you, you should keep going with it.
For the hair, I’ve only created a rough sculpted block mesh in this phase, just to make sure the overall head looks fine, it wasn’t too detailed, but did help to define the whole silhouette; same as hair, I’ve only put a pair of temporary eyes mesh I grabbed from a past project.
Retopology & Skin Editing
For the head model, I used a mesh from a previous project to save up time, which already had good topology. I used R3DS wrap to transfer it to fit my sculpted mesh in ZBrush.
Then I followed the killer workflow that Texturing XYZ shares. To follow this workflow, I used ZWrap to project a plane on my target mesh, then I used xNormal to bake the XYZ VFace textures from that plane.
Once the textures were baked, I applied the displacement map to my high mesh in ZBrush. With the skin details on, I could start doing some cleanups, adjustments, and adding features like wrinkles, and lip bumps to make it match Tony‘s face more.
I edited the skin Albedo map in Substance 3D Painter. Same as the displacement, I also did some needed cleanups and adjustments, such as tweaking color, and increasing/decreasing skin spots, to make it look closer to Tony.
Hair & Eyes
After the skin model & textures were done, I started to create hair and grooms using XGen in Maya. Hair and eyebrows layers were all done by using guide-controlled primitives.
For hair, I’ve created three layers in total: main hair, breakup/flyaway, and transition. They’re applied with multiple layers of modifiers like clumping, noise, coil, etc. I created a mask for some of the modifiers and tweaked a lot of parameters to reach the feeling I need.
For other grooming, I created eyelashes using interactive groom splines, so I can use its handy tools and sculpt layers to edit the curves of lashes separately. Peach fuzz was created using Groomable Splines primitives.
As for the creation of the eyeballs, I want to give a shout-out to the Kubisi Art YouTube channel. I found that the author of the channel made a very helpful tutorial demonstrating how to create realistic eyes using Arnold shaders. He also introduced a project called Digital Emily in his tutorial.
Digital Emily project is done by USC Institute for Creative Technologies. They created a website sharing a well-structured work process of creating digital humans, and also offered their sample files. If you’re struggling with creating facial parts or curious about the logic of digital humans, I really recommended visiting the project page.
Thanks to Kubisi Art and the Digital Emily project, I took a look at the file and got to learn how to create properly structured 3D eyes for my work.
There were two main elements in Mandarin‘s outfit: one is a pair of patterned shoulder armor and the other one is his unique textured garment. I used Marvelous Designer to create the base of the garment, I only used it to create cloth structures and simulate enough wrinkles on fabrics, then I exported the model, and used ZBrush to finish the rest of the medium details. I left micro details to Substance 3D Designer & Painter.
The base of the shoulder armor and cloth final modeling were finished in Maya.
As I mentioned, the outfit itself had very original designs, especially the patterns it used, which is why it was hard to find the existing resources to match, therefore I created those two materials in Substance 3D Designer myself.
Once the needed materials were made, I imported the model to Substance 3D Painter, applied the base materials on parts, and added some other details such as damages, grunge, and traces of use.
When all the needed models and textures are ready, it was time to put them together in Maya, set up shaders, and start my render.
Thanks to Kubisi Art again, here’s another part of his tutorial talking about how to set up realistic skin shaders in Arnold, I couldn’t make my skin well without studying from his video.
After a few rounds of testing, all the shaders were good to go, I started to set up lights and HDRIs in the scene. At first, I was testing if I can manually put a few area lights to create the whole feeling, turned out it looks way more natural and realistic if I use an HDRI map on a skydome light.
I got the HDRI maps I need from Poly Haven. When I was looking for HDRIs, I also tried to look for the ones that could create a proper atmosphere that was relevant to the character, or able to give similar vibes as the character had in the film. As you can see in the final renders, I also played around with many variations of lights.
My lighting setup turned out to be very simple – it comes with just one skydome light with an HDRI map and 1-2 supportive area lights. I’m happy with the results.
In total the whole project probably took me around two months to finish, due to work, changes in plan, etc. I also once had to shelve it for a while, then I got back to work on it. I’m really glad I got the opportunity to go through the whole process, as I mentioned, it was the very first time I was making such realistic human art, and although I have had experience in making game assets, I wasn’t familiar with this kind of workflow. So, I had to be like a student and learn everything very hard to make it happen. I’m also thankful for all the resources I’ve got online, It’s so nice to see people are kind of sharing knowledge and their experience.
If you are thinking about making character artworks or starting a career related to it, I encourage you to observe every moment of your days, whether you have a specific target to study, or just the people and things around you in your daily life, always keep your sensitivity of appearance, facial features, and expression, which can be very helpful in making characters in any situation, cheers!