INTRODUCTION
This is an article I wrote for the Marmoset Toolbag website back in 2020. You can also check this breakdown at their website here.
I would like to show a little bit of my process and thoughts while baking maps, creating textures, with more emphasis on how I set up materials and lights in Marmoset for the Grumpy Goblin, a character based on the concept of the amazing Todd Ulrich.
This character was made in Marmoset Toolbag 3, before the release of Marmoset 4, therefore, there was no support for ray tracing yet.
The main goal of this project was to test how far I could push the render quality in Marmoset and get a result as close as possible to an off-line renderer such as Arnold or V-Ray.
BAKING
Since my goals for the project were strictly to test render quality, I didn’t care about optimization at all for this character. So, as you can see on the image above, the “lowpoly” is still a quite dense mesh.
I broke down the character in 3 different texture sets in order to have good resolution across the whole model, one map for skin, one for all the leather and one for metals.
Also, I separated the character pieces in several different groups in a way where each piece didn’t touch each other. This prevents errors due to mesh overlap when baking. Each group have a High poly and a Low poly version with the correspondent same pieces, example:
• Leather01_high
• Leather01_low
• Leather02_high
• Leather02_low
Using the suffix “high” and “low” for each group will make your life easier when loading your meshes to bake, especially if you use the “Quick Loader” in the “Baker” component in Marmoset.
Marmoset has been my software of preference for baking for the past years. Tools like “Paint Offset” for adjusting the cage in real time and “Paint Skew” that helps to redirect parts of the projection, makes it quite easy to fix baking issues.
For this model I didn’t have much problems with the cage, but in tight areas like the transition from eyebrows to the nose, the default cage settings was causing some minor errors around the wrinkles. The “Paint Offset” tool was used to fix that area and some other spots as you can see in the gif above.
I baked all the base maps necessary to start a Substance Painter Project except for the ID map. I usually use polypaint to create an ID map to make my life easier when texturing on Painter, but because pretty much all the bolts and even the stitches are actual mesh, I skipped that part since it would be easy to mask things out by selecting meshes or UV shells.
TEXTURING
As I mentioned before, the emphasis on this breakdown is on the render side. But for me it is impossible to talk about the render without first approaching some key points of the texturing process.
For me, texturing and rendering walks together. Don’t matter where you do your textures, it has to look good in the final piece, whatever it is in Marmoset, Arnold or in a game engine like Unity or Unreal.
Usually my high poly meshes tend to be very clean, with not much fine details. I prefer to do the heavy detailing work with textures for 2 main reasons:
First, my high poly mesh and Zbrush file stays relatively light, so it keeps easier to model and I don’t need a super dense mesh to have enough details to bake it. Meshes with too much geo always causes me some headache when exporting the model for baking. If the mesh is too heavy I have to decimate it, that might be very time consuming and also due the possible amount of decimation, the mesh might lose some details.
Second and most important, even already having in mind what I want for the final look of the character, I can experiment many different ways to achieve the visual I have imagined, trying different material combinations and seeing what works better, not only detail wise but also with the colors this time.
When texturing, I like to progress the character texture as a whole, so instead of starting working on an area and making that specific spot looking awesome right away, I make an overall “first pass texture” on the entire model that will help to give me a better idea of what I want.
As soon as I finish the first pass, even if it is very rough, I like to export the textures and start testing how it looks in the target render engine. Since the goal for this project was to test render possibilities, I brought everything to Marmoset as soon as possible, this gives me a more clear idea of what the end result will be. So from this moment and beyond, I set up a scene that will start to be my main reference for the rest of the project, every change I make when texturing has to serve the purpose of making that scene look good. This scene is just a base, doesn’t have the final lights and settings, I will talk about that later.
Once my base scene in Marmoset was set, I started the second texture pass breaking up the base texture with some more detail like the other side of the leather, some damage to the armor, more colors to the face and so on.
For the first and second pass, I check the character in the Marmoset scene, but not so often. As the texturing advances and it gets closer and closer to the final result, the back and forth between Substance Painter and Marmoset happens way more frequently, especially when working on the skin.
For the face, I wanted this rough look on his skin. The face of an old goblin who stayed too much time in the sun during his glorious days of war. With the SSS in Marmoset the skin was looking too soft and not giving the feeling I wanted for the character.
So after a certain point I took the skin normal map, exported it to Photoshop, duplicated the texture several times and used the “Overlay” layer effect on each of the duplicated layers to make the normal map look way stronger. With the SSS in Marmoset the skin was looking too soft and not giving the feeling I wanted for the character.
I also created a Parallax Map to help to increase the illusion of volume on the face. This helped to pop some of the skin details. I will talk more about that in the render section.
One thing that will help to add a lot of depth illusion to the final product, is to fake shadows in the texture. For most of my characters, I put a layer on top of everything that I call “Overall Occlusion”. This is a “Fill Layer” with a dark diffuse color masked with a “Fill” node where I hook the occlusion map and on top of that goes a “Invert” filter.
In some cases as you can see in the stitches around the patch, even with that information being in the bake, I manually paint some occlusion and some height information to add more depth to that specific area.
This type of tricks will help your textures to keep it’s volumes, even when there is a strong light hitting that area.
MATERIALS SETUP, LIGHTS AND CAMERAS
Since I started modeling this guy, I imagined him as someone who has dedicated his whole life to the military services and now is just an old soul who is still part of the army, but don’t wanna be bothered by anybody.
This kind of small “description” always helps me to know what I want for the final shot. In this case, I wanted to recreate the feeling of those old photos from the early 1900’s, so I searched for some photos to use as reference for camera angle and lighting.
Before we dive into lights and cameras, let's take a quick look at the materials setup.
For every personal project I do, I work with the Specular Gloss PBR shader pipeline. I prefer to use it since it gives me some artistic freedom compared to the Metal Roughness pipeline.
For example, I can have the purple in the Albedo channel for the Goblin’s skin and set a slightly blue specular to break up a little bit the boredom of the dominant purple color. The difference is very subtle since the saturation of the blue has to be very low, but it makes a good difference compared to the Metal Roughness pipeline where the specular would be white or in case of metals it would have the same color as the Albedo. This can be very powerful when working with hair or putting some makeup on your character.
As you can see in the image above, for the metal material I only used Normal, Albedo, Specular and Gloss maps, for the leather in addition to those I set some Sub Surface Scattering and Translucency only using the material parameters with no maps.
For the skin, I did set the SSS and Translucency in the same way as the leather, only using material parameters with no Maps. Because it is a material exclusively for the skin, the SSS should be everywhere and about the Translucency, Marmoset does a pretty good job detecting how deep the light should penetrate your model depending on your settings. These parameter values will always vary according to your scene settings and model scale.
As I mentioned before, I added a Parallax Map to the skin Material. It helps to create a more realistic sense of depth to the skin since this map will take care of occlude the cavities that shouldn’t be seen from certain angles, this effect is called Parallax Occlusion.
As you can see in the video above, when turned on, it looks like the mesh received an “inflate”, but in fact this is only the height map controlling what pixels should be seen and which ones should be hidden based on the angle of the camera. If you pay attention, the silhouette of the mesh doesn’t change.
Look at the rotating images on the side, on the top window where the Parallax map is on, pay attention to the middle wrinkle in the lower lip and see the cavity of that wrinkle “disappearing”, in fact being occluded as the model rotates. On the bottom window, where the Parallax map is off, you can see that all the cavities keep visible until they rotate 90º away from the camera.
Take a look at this video of a single plane rotating with a Parallax map. You can also learn more about Parallax here.
When setting up a scene, the very first things I do is:
Set a key light that represents the feeling I want for the final shot. A very high light generating lots of shadows? A light that comes from the center making the character very bright? This may vary a lot from project to project, but I like to keep things simple when I start.
Set up my Main Camera position and field of view and LOCK it. In this case I set my main camera to 60mm, but as you can see, my scene has multiple cameras for different situations. I always do my adjustments in other cameras than the main one, this helps me to keep a consistent comparison for every time I make a new render test.
Put the character in a Turntable, so even from the locked Main Camera I can see how the character interacts with the lights from different angles.
Turn Global Illumination on, and adjust its brightness in a way that will not kill my shadows. It’s pretty common for me to be tweaking the lights, trying to cast some interesting shadows, but the brightness value of GI is so high that I would never get the visual I’m looking for. So yeah, always check that when you start.
The light setup for this scene was fairly simple. I used 4 spot lights, 2 in the front (key and Fill light) and 2 in the back for Rim Light.
I wanted the lights to bring more of the grumpy feeling of the character without making him look evil or scary, so although my key light projects lots of shadows, I used the fill light to bring some balance to the composition.
I think it is part of my render style to use very strong back lights, I like the effect that the rim light brings to the composition. For this scene in particular I bumped up the bloom effect a little bit as well to bring the feeling of his old glorious days of war. So at the end the idea was to have this mix of a photo that could be radiant, but he is so grumpy that he just wanted this “photo thing” to end quickly, he is not enjoying it at all!
One important thing to know when setting up your Spotlight is that you can and you should adjust its Shape Width. This will define how soft or sharp your shadows will be. The default settings for Marmoset Spotlight will give you very sharp shadows. In real life shadows will hardly be that sharp, especially when talking about the skin that has so much scattering.
Areas like the neck, a big “cylindrical” shape, where there is no object occluding the light should have a nice smooth lighting transition. But areas where there is something close to the surface blocking the light should be a little bit sharper, like the casted shadow from the hat to the head. You can make a test putting your hand over your desk and slowly raising it, you gonna notice that the farther your hand gets from the desk, blurrier the shadow gets.
Note that making the Spotlight shape width too big, can kill your shadows as well, so be careful when adjusting these values.
Even the character being stylized I wanted to break that “pure digital” rendering look and bring some realism to the final shot. Having that in mind I added some Depth of Field, Grain and Vignette to the camera. These few things will help to ground your render to reality.
In the real world, cameras with lenses set for close up shots will naturally have a focal point that will remain sharp in the photo while everything else will be somewhat blurry. If you have an image that is completely sharp, it will look fake. Not even our eyes can focus on everything around us, why should your digital camera do?
Real cameras produce some imperfections to pictures such as grain. This is way more noticeable in analog cameras, but is also common even to modern digital cameras, especially in low luminosity conditions.
Vignette is not something common to every lens, but it definitely happens in the real world. I decided to add it because I thought not only it helped to bring more mood to the image but also some nice color variation to the background.
I really recommend this article by Darren Thomas giving some tips about how to improve your render.
CONCLUSION
Marmoset is an extremely powerful tool that can provide top quality works! The fact that it is a real time render engine makes it really easy to set things up and test everything on the fly, so I’m constantly trying new things. Now, with Marmoset 4 it is even better!!
Thank you so much for reading this article! I know it was pretty long, but I truly hope it was helpful enough and you have learned something!