Film artist Jonathan Sabella explained, how he approached the production of a real-time character.
My name is Jonathan Sabella. I am originally from the Chicagoland area, working currently at Industrial Light and Magic XLab. I’ve worked on a number of projects in my career, recently as model supervisor on the VR experience Carne y Arena directed by Alejandro Inarritu. Some films I’ve worked on include; Dr. Strange, Captain America: Civil War, Avengers: Age of Ultron, Ant-Man, Deadpool as well as games like Mortal Kombat X and Injustice among others. Most of my work is centered on modeling digital humans/creatures and their facial blendshape libraries as well as texturing.
I’m a huge fan of superheroes, after seeing the film Logan I was inspired to work on a portrait not only because I really enjoyed the movie and the themes in it, but also in part because I admire Hugh Jackman’s dedication to the role and he seems like a genuinely nice person. I have a passion for human and comparative anatomy so in my personal work I often choose subject matter that allows me to combine that with a character or creature I hopefully continue to be interested in even after a long day at work. Beyond that for this project I choose to limit myself to real-time constraints that can be used in VR or game production rather than go the pre-rendered route.
Largely I approached the sculpting in much the same way I would on most models. After pulling a ton of images of the actor from the film and online I started sculpting in Zbrush from a sphere and just pushed and pulled out a basic likeness without worrying about topology, just trying to get the right feeling. I usually work the figure up from the inside out starting with the bone structure. Unfortunately I didn’t record that process for this initial sketch of Logan, but you can watch a capture here of a quick block in I did for a Joker sketch I created in much the same way:
Once I was happy that I captured a good foundation I then wrapped some better geometry around that sketch, put some basic UVs and began the process of refinement. Most of the wrinkles and pores are sculpted in Zbrush by hand or with custom alphas and then later I blended in some TextureXYZ maps in Mari. On top of that I created a tileable microdetail map that could be used to break up the specular response even further in Marmoset and still be affordable.
If anyone is interested in knowing further what I think about as I sculpt and how I use those ideas for creating a model, I recorded this 20 minute lecture via Facebook live on the subject that can be found here:
Sure, the eye is actually quite simple geometrically, it’s basically just a sphere slightly adjusted and with a cornea bulge modeled in. I then duplicated that exact model on top of itself in Marmoset. One model got the standard glass shader with a very thin thickness and it’s reflectivity and specular turned up a bit, the other got an unreal shader with its specular turned all the way down. The trick to the depth is two fold, one thing is a very easy to make parallax map that’s just a radial falloff from the center of the cornea. This map gives the illusion that as the eye turns the pupil is still visible from the side and not just sitting flat. The second aspect to getting the depth is a very detailed eye sculpt I did in Zbrush that included veins and was modeled and textured as closely as I could observe from the actor. In addition to matching the color and gradation of his eyes, I also wanted to have them appear bloodshot as they often do in the film. From that sculpt I extracted normal maps, AO and albedo.
I painted all the textures for the skin in Mari using a combination of hand painting, photos of the actor and procedural maps. There are really only a few maps involved with the albedo being the most important. I also used a subdermal map, which is just the diffuse tinted slightly orange and red to simulate the fascia and fat below the skin as the SSS effect passes through. The only other maps I used were a black and white map which controlled the intensity of the SSS effect and a specular roughness map that was also derived from the diffuse.
Believe it or not all the hair in the image is just standard flat hair cards from one single texture map I rendered out of XGen. The trick was really just taking the time to lay them all out as convincingly as I could while trying to avoid showing too much repetition. In the past I’ve used a lot of different techniques, sometimes generating the cards from Hair and Fur in Max, other times manually creating spline hairs myself and extruding them in Maya. In the end it usually always comes down to patience in laying out the cards once you have a good map.
Once I began sculpting I would periodically bring the model into Marmoset to check it in different lighting conditions and continue refining. My lighting set up ended up being very simple; a single HDRI, a back light, a main light coming from screen right and a rim light. I kept a gray and chrome sphere in my lookdev scene to keep track of lighting response and make sure everything was working in alternate conditions. The beauty of working in PBR is that for most cases things do end up working in any lighting conditions fairly well off the bat. The shaders I used were all the standard Unreal shaders in the software with the only other shader utilized being a glass shader I mentioned earlier for the eyes and meniscus. This isn’t the first time I’ve used Marmoset, but I am still very impressed with what it’s capable of and I enjoy how quick it is to iterate in a real-time setup like this.
Where can people find you online if they are interested in learning more about you and your work?
You can find me on Instagram under the name 3dCharacterArtist as well as YouTube. My main website is 3dCharacterArtist.com and I’m also on Facebook. Thanks very much for taking the time to chat. Cheers.