Hi, my name is Dmitry Danilenko and I’m a 3D props and environment artist in the games industry. I’m currently working with Gameloft in Kharkiv, Ukraine. In this article, I would like to talk about the role that Marmoset Toolbag played in creating and presenting my piece, The Miner. Modeling The high poly stage was done in 3ds Max and Zbrush. Zbrush was also my main retopology tool throughout this project. The ZRemesher is amazing as far as quality and time are concerned. For the UV’s, I used 3ds Max’s ‘Flatten by Smoothing Groups’ feature and then finished packing the UV’s in RizomUV. Texture Baking I worked on this mech during my free time (which I don’t have much of), so it was very important for me to save energy, time, and most importantly to not lose steam halfway through. With that in mind, I used all possible ways to speed up the process of creating my high poly, low poly, UV’s, and baking texture maps. Therefore, some meshes and UV’s vary in quality and were created differently. Despite this, I did not have any problems baking all of the models and there was no need to do any serious post-processing of baked maps in Photoshop. For a while now, Toolbag’s baker has been my baker of choice. I really like the flexibility and the level of control that the baker provides. I broke down the texture baking process into several stages; model preparation, setting up the baking scene, and baking finalization and polish. Model Preparation Since the model consisted of multiple UV’s, it was necessary to assign separate materials with unique names for each UV set. This allows all of the maps to be baked at once, thanks to Toolbag’s Multiple Texture Sets option. Setting clear, unique names makes it much easier to work on texturing and setting up materials later on. Usually, when working with complex mechanical models, I have a habit of baking the assets in their base position with the correct orientation and their pivots relative to the world and local coordinates. Doing this makes it seem as if these parts were in the shop during assembly. I don’t use baking groups often since I prefer to manually explode the model elements for more precise control over the influence each element has on another. For example, I wanted the rubber bags and metal parts of the mech’s legs to be baked together, but I didn’t want the mech’s body to influence the cockpit. Additionally, it makes it easier to check the model for errors and artifacts. Setting Up the Baking Scene I just can’t express in words the satisfaction that arises every time I load the high and low poly meshes in the baker and the cage envelope is nearly perfect by default, despite having baked something really complicated and big. Therefore, the process of setting up and baking texture maps was very easy. First off, I always check the cage of the low poly mesh. If the difference between the geometry of the low and high poly is drastic, then pressing the Estimate Offset button will do an automatic cage envelop adjustment perfectly. You might have to tweak the Max Offset slider slightly. Sometimes, you might need to use the two small yet powerful buttons, Paint Offset and Paint Skew. Above all, every adjustment made during this stage is updated in real-time. It’s time to make the first round of baking normal maps at a resolution of 1024×1024. This texture map displays artifacts best and bakes quickly. After searching for artifacts, I make the necessary adjustments to the cage envelope offset and cage skew then move on to setting up the Ambient Occlusion and Curvature maps.





When setting up the Ambient Occlusion bake, I usually keep the Floor Occlusion and Add Cavity options off. These options work well for static objects, but not for moving mechanical stuff. I always concentrate on fine-tuning the Search Distance option, which was added with the 3.06 patch. This option gives a clean and sufficiently occluded map that allows better control when used in generators and creating masks in Substance Painter. When tweaking AO, it usually takes a couple of baking rounds with a low number of rays (to save time) to determine the best settings. In most cases for the curvature map, I choose an Intensity value of higher than 1 to get slightly sharper detail. Baking Finalization and Polish For all other maps, I tend to keep the default settings as they are. The only thing I do before starting the final round of bakes is raising the maximum number of rays for AO and the Thickness map. Most maps for this project were baked at 8k resolution. Be sure to wind up the number of samples per pixel to 64 and press Bake. And then that means it’s time to drink tea. You can see the final list of maps that I usually bake with their settings in the image above.

I want to draw your attention to two very simple yet interesting texture maps that are not often considered in the pipeline but can be very useful – Convexity and Concavity. Blending these maps in Photoshop can significantly enhance the detail of the AO and Curvature maps. To do so, all you need to do is add your Concavity map as a layer on top of your AO and change the Blending to Multiply.