3d artist Claudio Clemente did a very cool breakdown, showing the tech behind his amazing Game of Thrones fan art.
Claudio Clemente did a detailed breakdown of his amazing Tyrion Lannister 3d model. He showed some really cool tricks with Toolbag 3 and Substance Painter.
Introduction
Hi Everybody! I’m Claudio Clemente.
I’m an Italian character artist who worked for over 10 years in both visual effects and video games industry.
I’ve born and lived in Rome, where I started my studies about visual arts, animation, character design, story writing and, later on, character modeling. Since I was kid I always loved drawing, and I always ended up drawing characters (mainly from my preferred animes and comics).
My initial career target was to be a comic Drawer, but it was not too long before I understood that it was not a profitable choice. I chose to go to the university in 2003, when I discovered the existence of our first Italian bachelor about multimedial graphic design. There I’ve met Nicola Sganga, who was initially my teacher, but he has soon turned into my employer and friend, and with him I developed my first experiences in VFX industry. It was the best way to work in a country where job opportunities are really poor.
Even so I wanted to obtain something more and I felt that, living in Italy, I would never been fully realized. It is when I arrived in UK that I had the opportunity to realize the most challenging and interesting projects of my career. I had the opportunity to work on projects such as: The Jungle Book, Guardians of the Galaxy, Pirates of The Caribbean: Dead man tell no tales, Terminator Genisys, and Ghostbusters; titles I remember form my childhood, and I have to say, working on these projects is a lot of fun.
I always loved video games too. Because in Italy there’s not a big industry for games my career has been developed in movies direction but, as soon as I had the opportunity, I accepted a contract as Senior Character Artist at Foundry 42, where I’m working right now on Star Citizen and Squadron 42 titles.
Quality of the assets is insanely high.
For me that I come from a VFX background and love detailing my assets, it is the perfect solution.
I’ll publish some of my latest works in a while, so that you’ll see how cool is the project we are working on.
Tyrion
Tyrion is a personal project I started during my free time when I was working in Electronic Arts, in 2013.
It has been interrupted dozens of times because of house changing, job changing, life changing, and also because I wanted to give some space to study new software and new technologies.
I always start collecting references, before moving into sculpting. I have an archive of over 2 Gb of photos about Peter Dinklage. When I make a 3d portrait it’s important I have all possible details of each angle of his face, mainly, but also about his body proportions, expressions, preferred poses, eventual famous lighting conditions, or anything I could consider important for an effective characterization.
In this case I needed details of his costume too. His jacket’s pattern is really specific and dense of particulars, and not so many photos show it clearly enough to create a perfect sample of it.
I ended up recreating from scratch.
Rings, too, were difficult to realize. Modeling is not the main issue, here. Finding the proper references in order to see how, exactly, they look like, it is. In the whole internet I was not able to find a decent reference of his lion ring. Part of it I was forced to invent it.
Either way, this does not mean you have to consider this an obstacle. You can always finish your model, one way or another. It’s only that, looking at the other Tyrion Lannister’s model I found online at that time, everybody was focusing on a good face study, while I wanted to invest some time on his costume and accessories too.
Face
When I work on a cinema’s project and we have to create a 3D DigiDouble of some actor (like the Arnold Schwarzenegger’s one we did for Terminator Genisys) we usually have all possible references of both his face and the body. We usually can rely on 3d scans helping us for both volumes and textures, and there’s usually some material for the facial expressions too.
This was not possible for Tyrion as it was a personal project, but that was the level of quality I wanted to reach so I’ve done my best in order to get the highest quality references before starting sculpting.
Peter Dinklage’s face is a difficult one. Not only he has an outstanding facial mimic, and really sharp features but his face is also particularly asymmetrical.
His nose is twisted on the left side, while his whole jaw is slightly curved on the right one. On top of that, his face is pretty fleshy and, depending on his expression or angle of the neck, his features change a lot.
I’ve done some test on the shape block out, in order to get the proper proportions before moving on the finer details sculpting but it toke some time. Usually, I start from a sphere. I deform it and sculpt it using, mainly, the Move, “ClayTubes”, and Smooth brushes in Zbrush. Once my sphere definition is not enough anymore, I start using Dynamesh in order to re-arrange my mesh.
This is a dirty way to work but it’s good to realize a blockout. I keep working on it, defining the main volumes. When I get there, and I need to focus on the finer details, I need to create a proper Topology, so that it can be subdivided, and sculpted properly. This will be my finer mesh and, if possible, I’ll keep working on it until the very end (but usually I end up redefining it, when it comes to face expression, or if it has to go into a game engine).
In this particular case, because I knew I would have, eventually, sculpted an expression on it, I preferred to create a decent mesh to work onto. A mesh good to be animated needs an higher density of polygons and you need to be careful about the edgeflow of each polyloop. For example, polygons should run along the wrinkles, and define the volume in the best possible way. You don’t wanna have any waving polyloops on your wireframe. They must be as strait forward as possible.
This way, when we will animate his face, and create his expressions, it will be easier for us to understand what it is happening, looking at each polyloop moving. After the main block out on a symmetrical model, I added a layer and I added the asymmetrical variation, in order to get a matching look.
Having this variation on a separate layer allowed me to keep working on a symmetrical model, switching on and off the layer whenever I needed it (It is good also because layer intensity can be increased or reduced, helping me to verify if it is working , even with the adjustment I apply on different layers).
Then, looking at my references, I copied wrinkles and volumes around the eyes, the nose and the mouth, sculpting them manually. I love the “DanStandard” and “hPolish” brushes for this operation. And this is the step I start using different versions of the Smooth brush. “SmoothDirectional” brush, for example, is pretty useful to keep your sharp lines along the wrinkles.
For the finer details there was no way to project those from photos. They were too noisy and the result was poor, so I sculpted them, inventing them. Standard brush set up with the “DragRect” function is enough.
Using some alpha I bought on Surface Mimic and some other library I was able to sculpt some convincing skin pore. Depending on the area of the face I used the “SmoothDirectional” to drag the pores a little along the face, and then I like using the “SmoothPeaks” to make the pores and the beard stumble sharper.
Face scar was sculpted manually, copying it from photos. No magic here. Just tried to give an organic touch on it, switching between the “DanStandard” and the “ClayTubes”. I also tried to remember that what we actually see on TV is a man with some make up, and that is the effect that I wanted to obtain.
There’s no point about making a realistic scar, if it doesn’t fits the look of the reference
Hair
Hair has been a pain. Peter Dinklage has a really chaotic and difficult hair style. His curls are messy enough to create chaos in the model, but not so much to allow me to let some strain compenetrate each other, without causing evident problems along them. Because the whole beauty of an hair style depends on how well the textures blend one into each other, it is important to have the whole texture set before placing the hair cards. This is important in order to be sure that there are no empty spots all over the head.
I started creating the hair strains in xGen. I would have projected those on a plane in order to get my basic textures. I’ve made 8 different version of strains. All of them were pretty long, as they would have twisted into curls, and I didn’t want to stretch them too much.
The first 2 ones were meant to be on the deeper level of hairs, and they were more dense, in order to cover the whole Head. Third and Fourth strain were for the second layer, which is meant to break up the silhouette of the block out, create variations in the hair style, and in the color as well. They are not as dense of hairs as the firt 2 ones, and I usually make them a little bit brighter colored.
Fifth strain is a lighter strain. Poor of hairs but useful to add both curls and variation to the whole model. Sixth and seventh one are individual thinner curls I manually placed on top of the head, along the forehead, where curls are more visible and specific, and even along the curls, so that it was not possible to recognize the shape of the polygons anymore.
Last strain was for the proper scattering hair. There are just a few hairs in this strain but it was good to give him the final touch. After creating each single strain I used Arnold to render out my Diffuse, Specular, alpha and Ambient Occlusion channels.
I was forced to export the Normal map from another software. I converted the whole set of hair strains into a mesh and exported it. I used xNormal, projecting the strains on a plane, but I found out that, for some reason (probably related to the complexity of the model), red channel and green channel were swapped. As soon as I noticed it, the quality has risen immediately.
In Photoshop I did some tweaking in order to get a more interesting normal map.I duplicated and converted my Ambient Occlusion into another Normal Map, in order to have one, focused on the shape of the single hairs. Mesh Generated from xGen was not good that enough. This second layer added some realism at my normal and, on top of that, I painted some variation tone in order to break more the single strains. This, in the final render, affected the specular highlight too, and helped hiding the polygonal effect.
Other channels were just a matter of testing them in render and tweak them according to it.
About the card placing. Unfortunately, the best way to do this operation is doing it manually. I helped myself with a couple of tools I found online, helping my replacing and reorienting the pivot of each card but, besides that, it has been a long process. Beard, eyebrows and eyelids have been painted manually in Photoshop and then I placed cards in Maya. For the beard I used 2 layers of cards. One vertical and one horizontal, in order to get a more realistic result.
After placing the first layer of cards, from the inner layer to the external scarring ones, I was still able to recognize some polygonal shape. Polygons are actually 2d so, if you look at them from a certain angle, they will always betray you.
I order to fix it, I created a second layer of hairs (for the most evident ones), duplicating the most problematic cards (especially on the forehead and the top of the head), and extruded a couple loops of vertices along the normals. One loop forward and one backward.
Then I deleted the other polygons, and this gave me a perfect duplicated hair card, running along the first one, but rotated about 90 degrees.
After fixing the Uvs it was not possible to recognize the polygons anymore. Hair curl was perfectly volumetric from every angle (…almost)
Last, because Marmoset doesn’t have a dual layer material, and you cannot simply deactivate the BackFace Cull function in order to get a realistic result, I was forced to duplicate the whole set of hairs (already insanely dense of polygons), and flip the normals of each polygons. This way, light in marmoset was working properly.
What helped me obtaining a better result with the shader were the secondary reflection and setting the |Diffusion to Surface Scattering (the same algorithm I use for the skin). Initially I tried using the Microfiber one, who gave me the best fuzziness result, especially along the silhouette.
Result was really sharp, and I felt the hairs being to plastic. With the subsurface scattering I was able to smooth them as much as I wanted, simulating the light filtering between them. I helped the result adding some color variation into my diffuse and specular channel (this is an artifact. Hairs do not have different specular values, but I wanted the inner layer not to receive any specular at all, and making the diffuse color a little bit darker helped me too).
Skin
So, the skin has been a matter of balancing all texture into a shader it was surprisingly easy to setup. Quiet frankly, I was really impressed by the beauty of this Marmoset global illumination system.
Subsurface material came out better than I expected. Of course There are artifacts, depending by the subsurface simulation but, what the hell, it is really good!
I spent a lot of time painting the diffuse map of the face. I overlapped photos of the actor, together with photos of 3dsk website. I lost the count of time I spent trying to blend those photos (that is why having good references is so important, when it comes to the portrait of a so famous actor…)
After a pass of texturing in Mari. I extracted my diffuse in Photoshop, were I kept working on it, adding details, tweaking the overall color, according to the other channels an the way the shader was coming out.
Now, about the skin shader, there are different schools of thought about how to set it up properly.
In my opinion, what really gives the feeling of a good skin is the correct balancing of these channels:
glossiness, translucency, scatter, and fuzziness.
All the other channels were easy to set up and the diffuse was important just to make him resemblant to the actor but, in term of shader balancing, an easier texture, based on larger portions of colors would have worked well enough too.
I started applying the normal map extracted by zbrush and the diffuse (with the help of a detail normal map for the skin pores). Then I placed the reflection value to 0.4%, which is a good starting reflection value for the majority of materials in nature, metals excluded.
Even if skin is a complex material I have no reason to think that muscles, bones, blood, have a so much different index of specularity, and dirt, or sweat, on top of it, should not affect it neither.
Then I had to spend time tweaking the other textures.
Glossiness is the most important channel because it gives all those variations of grease, and oil that is common on all faces and all materials could have variations of glossiness, depending how polished is the surface of the material. It has nothing to do with the chemical property of the material itself and that is why, unlike the specularity, you cannot find an index of glossiness, or roughness online. Also, having a fixed value for the specular helps a lot when it comes to balancing your glossiness channel. You’ll be in time to add some specular variation later on, if necessary.
Tip of the nose, areas around the nostrils, and the forehead are more oily than the cheeks, chin and neck. Translucency simulates the light filtering through the thinner skin, showing that pure bloody red color. I created a maks, in Substance Painter, defining the areas where It should have been more evident: ear tips and sides, but also nose tip and nostrils borders.
I left some translucency in the cheeks as well, but at a lower level. This gave some warm tone according to the light. Scatter channel simulates what happens when lights get to a deeper level onto skin. Marmoset has a depth slider expressed in millimeters.
I set up mine at 1.5 mm (initially it was deeper, but I think, on this software, it’s too sensitive). Scatter texture simulates the color of the skin at the subdermal depth. Fuzziness defines how much the light gets diffused all over a furry surface. Faces, but skin in general, is covered by fur, but in some areas where beards does not grows, it much thinner and less evident.
Either way there’s a subtle layer of fur, and that affects the way you feel the skin material. It is an essential channel if you want to obtain a decent skin. It should not be underestimated. Last, I used the cavity and ambient occlusion maps to get some better result. You should not exaggerate with these ones because they often give your asset a dirty look. Like if it was covered of dust.
Shot
Wine has been a handful. Marmoset Toolbag is not able to render a proper refractive material, yet.
I was forced to find a way to mask some of the artifacts he was producing. In order to get a glass-refracting material, you have to scroll your shader to the bottom at the Transparency palette and set it to Refraction.
I searched for a physical index of refraction for the glass, online, but that was not the right approach with this software. A real refraction value depends on the thickness of the material, AND the material itself, but right now Marmoset, being a realtime render engine, can only make a simulation of refraction so, any physical value would give a weird result. I’m sure we’ll get there, though.
In the meantime you’ll have to find the value that works better for your asset. Anyway, here’s some trick to get a better result. First, when you model your refracting material, always rememeber to make a closed model, with a proper thickness. Also, after you finished your model, duplicate it and invert the normals of all your polygons. Then export both your models.
In Marmoset you will apply your refracting material to both your overlapping meshes, and, turning on and off the second model you’ll notice that there are much more interesting reflections on the final result. This is because Marmoset doesn’t have a proper Dualface material. You can deactivate the Cull Back Faces, of course but, exactly like for the hairs, this doesn’t gives the result you want.
Duplicating the model give better result, and offers more opportunities. In my flask, for example I had one material for the external mesh and one for the flipped-normals one. This way I was able to paint the shade of wine along the surface of the flask just inside the flask. With only one material this would have been impossible.
The same operation I did for the wine. What it gave me the feeling of a decent wine was the refractive texture I manually painted. Wine is not completely refractive. It is actually pretty opaque, so I turned to black the biggest part of the refractive map, leaving some grey tones along the border, and the surface.
I added some noise into the texture, so that it looks like more organic.
I used the Subsurface Scatter, again, for the diffusion. Now, you should know, when the Refraction is on, it doesn’t matters if the mask is completely black (non-refractive at all), some is still happening in the shader, and reflection comes out in a different way. Originally, I had a unique model for rings, glass, and flask, but I was forced to split them when I noticed the metal ring reacting to light in a weird way. As soon as I split the model this was suddenly fixed.
In the high poly sculpture, in Zbrush I treated all rings like individual assets, without caring too much about how important they would have been in the final render. The one with the ruby is the one I spent more time onto. Metal socket for the ruby is a unique, closed object. This way, when I see through the ruby, I can see the dark metal underneath, and this helps the realistic effect.
Inside the gem oval there is a duplicated model, not overlapping the original one, shrank and faceted. This helped giving the feeling of an irregular gem, different from a normal glass.
For the metallic parts it was easy to set the material. The most important informations come from the albedo and index of reflection values, and both of them can be found online. Normal map came from the sculpture so, the only real textures I have to tweak was the glossiness and the ambient occlusion.
On the glossiness I spent a lot of time. This is always the channel that saves me if the material is too flat and boring. In this new generation of PBR materials I consider it the most important channel.
I added fingerprints, dust, scratches, and on the flask surface, I had fun manually painting a wet layer with waterdrops, both glossiness and normal map.
This gave a good feeling on the flask, like if it was kept frozen (red wine should not, but who cares?), and helped covering the limitations of the limited refraction calculation. Painting this textures manually has been a real fun process.
Wine has been sculpted in Zbrush. I started from a sphere, and then manually modelled it, helping myself with Dynamesh and projecting it in order to make him touch the glass and flask borders.
Once I had a decent volume I retopologized it and, after subdividing it, I added some detail on the top surface, so that it looks moved and wavy.
With a glossiness of almost 100% it looks like a proper liquid. It’s really easier than it looks like.
Learning Toolbag
Well, as I told you, I always wanted to learn this software properly. Unfortunately, coming from a background in Cinema’s VFX there were no chances to use it in production, and even now, in Games, it is not part of our workflow.
Fortunately I had enough time during the past months, so I decided to apply myself on it, and see if I was able to achieve some goal with this software.
Treating each detail like if it was an individual asset offered me exactly this opportunity.
Rings, for example, are not so much visible in the final render. They are really small that I could have given just an hint about the shape they had, but while I was working on them, I was focusing on all the details they were containing in order to put the software under stress and check the result on each material, challenging myself to see how much more detail and accuracy I could have pressed into it.
I have to say, it has exceeded my expectations.
Right now I’m also organizing some more material for my artstation page. I’m going to show all materials’ settings, some close-up of each piece, together with some turntable and wireframe, in order to give a meaning to the time I spent on all those finer details!
About the final render, It toke me some time in order to get the result I wanted. If you think lighting is an easy discipline, think again. Even with Marmoset, which is a super user friendly software, it was not easy for me to find a lighting setup that was not too much boring and that was not hiding too many details in the dark areas and, on the other hand, I wanted something that was nearby the atmospheres you could find in Game Of Thrones (even without a proper environment supporting the character).
I chose this setup playing with the lights I was putting all over the model. I always liked how the backlights define the border and shape of a volume, so I played with those a lot. In the front area I Preferred not to have a smooth diffuse light. It has been fun finding the colors i wanted.
The reason why this asset looks like a concept is that I abused about local lights. I created lights just for the eyes’ highlights. There is some panel I used to cut the projection of some specific light and create some interesting shadow on the asset, and toke good care of the reflections on the eyes, and the glass.
Some lighting setup works better with rough surfaces but they could bring really sharp reflections on polished surfaces, like glass or rings.
One thing I did was starting with the selection of an interesting HDR texture. Then I kept adding lights to the scene and placing them wherever I want. Lights should have their own group, this way it is possible to spin the whole lighting setup around the origin point, and indipendently by the HDR environ. I notice not a lot of people does that, probably because they chose the lights in the scene according to the HDR they selected.
For me, having fun with the lights was the best part. At the end, HDR was just a minimal base.
I set the visibility really low. Actually, the only real visible contribution it gives is on the flask surface, giving the feeling that there is something more happening around Tyrion, but it really doesn’t affect the lighting system that much.
The it is just a matter of playing with the shape of each light and finding the best solution for your asset.
Time Costs
It toke a LOT of time, unfortunately. I used it as a Guinea pig for a lot of new tools and technologies I wanted to test. Sculpting process has been pretty long. The initial goal was making a full detailed sculpture in Zbrush, and I did it. I sculpted the whole jacket manually. There are no textures in there, but it was just a stress test for the software; I knew I would have redone if I ever wanted to make a proper 3d render of it, but at that time there was not Marmoset Toolbag 3, and the second version didn’t hit me that much.
The whole model is over 320 millions polygons (!!!), and the majority of them are in the jacket, which I was forced to subdivide using the HD geometry. I actually don’t remember anybody on the whole web who shown a model where it was necessary to arrive at that density of polygons, and infact it didn’t need it.
I did the same for the hairs. Original hairs have been sculpted with Fibermesh, inside Zbrush.
I had never used it, but the result can be pretty cool, for sculpting purposes. Unfortunately, curves you can export from zbrush, are not so great, and if you wanna get the best result, you’ll probably end up creating your hair cards from scratch, either way, so save time and don’t try to convert your Fibermesh curves into hair cards in Maya.
The high poly sculpture was finished in 2015 but, at that time, I was living in London, working for MPC, in movies, and commuting was draining the biggest part of my time, so working on personal projects was really hard.
The opportunity came when I moved to Foundry 42, near Manchester. Living in a small town is my dimension, right now. I found the space and the time to put myself at work again and.
The whole process of making a retopo, posing the original high poly sculpture, paint all the textures, learning how to do the hairs in xGen (I was using other methods, before this asset), studying and learning Marmoset and testing it, it toke, more or less 4 months of evening work.
Speaking about the conclusions, I had fun and learned a lot, working on this asset. Part of what I learned could be used on Start Citizen assets too. We will see if I will be able to bring some improvement to our current assets.
It has been a long, challenging adventure. I’m particularly enthusiastic about the things I learned along this process. All the time I spent on new tools, trying to get the best result, pays off every day at work and I’ve got a much more sturdy workflow for all my assets. I’ve some other personal project I started during the past months, left behind to close Tyrion, but now I look forward to finish them as well. I have a Solid Snake sculpture I’m making for a Metal Gear Solid diorama. I can’t wait to test some special effect on Marmoset to make it more interesting!
Right now I’m writing a making-of for Tyrion, that will be released in the next weeks. A lot of people asked me to tell how I released the jacket, the hairs, and the rings and I would like to show them step by step how I was able to arrive at the final result. It will be released on my ArtStation page, and, if possible, I’ll release some content on GumRoad about him as well. I hope they’ll get some benefit from it!