Building Terrarium Bots in Maya, Substance Painter and Toolbag

Building Terrarium Bots in Maya, Substance Painter and Toolbag

Lena Chernetsova discussed step-by-step how she worked on two Terrarium Bots, from initial modeling and retopology to baking maps and rendering in Marmoset Toolbag.


Hello, my name is Lena, and today I'll tell you how I created my most successful project so far called Terrarium Bots.

Disclaimer: I am a beginner 3D artist, and the pipeline I'll describe below will be more useful for the rookies like me, who are yet at square one of the journey to the brave new world of 3D art.

Before I decided to get into game dev, I had two economic degrees, several years of freelance experience as a graphic designer and illustrator, and great love for beautiful video games. I first discovered Maya at the beginning of 2020, and I've been practicing 3D every single free minute I've had since then. It was a cautionary tale about how stubbornness and tons of practice can make a pretty good beginner 3D-artist from a former economist even in less than a year!

1 of 3

Terrarium Bots: Project Idea

This project is my graduation work for a Game-Ready 3D Art course. To sharpen all of the knowledge I got, I was going to make a robot (robots are cool) with some organic forms (plants or fabrics). The combination of brutal hard-surface and organic elements is such a cheat because it always looks spectacular. The request was pretty narrow, but the Internet has everything. I found perfect robots among the artworks of the talented concept artist James McDonald aka Nerd-Scribbles. With his kind permission, I took his walking terrariums as the basic concept.

For the project, I mainly used Maya, Substance Painter, and Marmoset Toolbag.


I like to start any work by making a raw draft of the main shapes. For now, we can pay almost no attention to the grid. It'll allow you to focus on the search for the most agreeable forms without distractions and bring changes quickly. If the model looks acceptable already in the draft, this is half of the success.

If you are working on an abstract concept, it would probably have an insufficient amount of details. In this case, it could be useful to explore similar artworks made by other artists (avoiding literal copying). Also, try to spend some time on Pinterest to collect a bunch of relating to your subject pictures on the mood board. In my case, suitable samples were disassembled bicycles, agricultural equipment, footage from a sci-fi movie, etc. In the process, my mood board looked like this:

And don't forget about the cables. All kinds of cables are also a cheat. If you're not sure about what kind of extra detail you may add – go and wrap everything with cords!

It's even easier with the foliage: create a few main elements, then duplicate and rearrange them as chaotically as you can.

Since I am not going to animate these models, let's give them a more living look and put them in attractive poses. Mechanical doesn't mean soulless. Robots with four legs and soft shapes can evoke associations with clumsy pets, for example. Let's enhance the similarity: tilt the limbs as if the bot is going to jump and skew the silhouette aside to keep our balance.

Retopology and UVs

I didn't have a strict polycount limit, so I only made sure to keep each bot within 50K tris.

Now we need to make transition from draft to low-poly. Sometimes it's more convenient to remake the mesh with a neat grid, or you can clean up the draft itself: remove excess vertices, get rid of n-gons, and fix any bad shading. You have to pay special attention to the geometry obtained by the boolean operations. Although a boolean is a powerful and flexible tool that you don't need to be afraid of, it always turns the grid into a massive disaster. Also, we don't need to triangulate the model too early, because it's way easier to work with square polygons. It's better to triangulate the model at the very last moment, before exporting it to any external software (ZBrush and Marmoset hate n-gons and always create artifacts).

When the grid looks decent, it's time to deal with UVs. I like to unfold meshes in UVLayout. It has a pretty old-fashioned interface that may frighten an unprepared user at first, but after you get used to it, the work in it becomes very fast and comfortable. Its algorithms are especially good at straightening shells, avoiding stretches, and keeping texel density just fine.

1 of 3

Regardless of the software you use for unfolding, it is worth remembering the following points:

  • Each hard edge = a cut on the UV. Otherwise, it will give you a visible artifact after bake.
  • It is essential to straighten each UV shell as much as possible and to unfold them strictly at a 90-degree angle relative to its longest edge. Otherwise, map editing and texturing will turn into a terrible headache.
  • Don't forget to keep padding between shells.
  • It's preferably but not necessary to group the shells on the map into logical groups to facilitate orientation when you start texturing.

Baking and Texturing

The game-ready pipeline assumes we have a light grid, but we also want to have nice smooth chamfers. So first of all, we duplicate the finished low-poly, arrange the support loops, and smooth out everything that should be smooth. For hard-surface detail on high-poly, there Hardmesh, a truly magical plugin that allows you to create high-poly boolean geometry with a perfect grid in a matter of seconds. 

I also made a sculpt for the large plant trunks in ZBrush to give bark some relief before I started texturing. When everything is ready, we finally can bake Normal using our shiny brand-new high-poly and low-poly meshes. There are only two last things we have to do before we go to Marmoset Toolbag. First, make sure that high-poly and low-poly match as well as possible. Second, divide matching elements into non-overlapping groups and rename them with prefixes -low and -high respectively.
1 of 2

I bake everything in Marmoset Toolbag. In my opinion, its algorithms allow you to bake maps easier and cleaner than in any other software. Together with the Normal map, I bake Ambient Occlusion and World Space Normal, all of which we will use later for procedural masks. For these robots, I didn't bake foliage (the elements are too small to spend time sculpting them) and glass (does anyone bake glass at all? I don't know).

I do all the texturing in Substance Painter using the Metallic/Roughness pipeline. Personally, I think it is a little more clear and easy to learn.

The main thing we're going to do with the basic set of plastic-rubber-metal-glass materials is to give them wear marks. Dusty, worn textures look way more true to life. But we should keep in mind the logic of the real world. We don't need to throw a bunch of dirt on a surface just because we have to. My robots are gardeners, which means they may have dusty feet and layers of mud on the inside and outside of the glass. All metal parts can gradually acquire leaking rust from being in the humid air of a greenhouse or laboratory. Just try to have fun and write your model's biography.

I mainly create the base of any texture with fill layers and map-based generators and then hide the most visible procedural parts by adding grunge masks or painting over them manually. This approach really speeds up the process. For example, to create a base for some dirt, you can use a generator based on the Ambient Occlusion map. This map describes the self-shadowing of the objects based on the information about how close the elements sit to each other. So the closer the surfaces are, the more dust accumulates between them. Also, you could get a solid base for dust (on the top surface of an object) or mud (more intense closer to the ground) using Position and Space Normal maps, which create the exact bottom-up gradient we need.

You should pay special attention to the Roughness channel, especially on big and empty parts of the model, such as the areas of shiny glass in my case. The details on the Roughness map may not look impressive at first but they do a great job in creating a compelling lively texture when light falls on it from different angles. To check how the Roughness looks, turn on the Roughness map mode in the Substance's viewport. There should be variations, not just pure light or pitch dark spots.
1 of 2
You can even increase the channel's contrast by adding Levels over the fill layer with Roughness information to give it more contrast.
Fine details on the corpus were done directly in the Normal map at the texturing stage. Substance Painter allows you to add hard-surface elements with its internal tools and diversify the appearance of the final model quite well.
The decals (stickers and inscriptions) were drawn in a vector editor, imported as texture and alpha resources into the project, and put on the textures using black masks. I have to admit this is a pretty rigid way, I'm sure there is a more elegant solution.

Most of the job is done! You can download these bots and the Substance Painter file with all texture layers in 2K for free from my Sketchfab page if you are curious to play around with them on your own. 


Marmoset Toolbag is an excellent tool that not only allows easy map baking but is also perfect for creating beautiful, colorful renders.

Below is one of the most comprehensive guides that I've found. You should watch it, especially if you never used Toolbag before:

First, load your model and textures exported from Painter. Then choose a light preset for the background lighting of your model. It is important to remember that this doesn't set the light source itself but gives your scene a basic color scheme. There are two ways to add light sources: manually or by clicking on the preview picture of the selected lighting scheme. I used a classic three-point lighting scenario: a neutral white key light as the primary and brightest source, a soft red fill light to prevent harsh dark shadows and add various shades, and a warm yellow backlight to kick edges out of the background.
The glass was rendered following this Ognyan Zahariev's tutorial. The only thing I changed was using the Refraction rendering mode instead of Dither to make the curved glass look even more expressive.
To get rid of the glass grain when rendering the final image, just set the maximum available number of samples.
I also want to mention Sketchfab, a very convenient platform for presenting 3D models. It allows you to upload your works without any constraints (if you make them downloadable for free). Sketchfab also has a wide choice of tools for spectacular presentation, including support of animation and audio, post-processing effects, and the option to add navigation labels. The interface of Sketchfab is very similar to the one Marmoset has and is generally intuitive to learn. Also, you can upload models with textures directly from Substance Painter. The algorithm of the platform will assemble all files into a complete package. Just be sure to disable shadows for all light sources in the scene except one. Otherwise, your model will get weird "faceted" shading.

Studying 3D at a School

As I mentioned earlier, this project summed up all my knowledge from the Draft Punk course at XYZ School. I got tons of information about the game-ready workflow from this single course instead of turning the entire Internet upside down and organizing knowledge on my own. Studies left me with fond memories as if it was a tough summer camp with an obstacle course. I chose XYZ School because I had already completed their free Intro course for Maya and I was happy with the result. I'm very grateful to all the people who helped me along the way.

I enrolled in school to speed up my transition to the new profession, and it seems everything turned out well! But remember that there are no such courses that will do your job for you. You can pay for the neatest course in the most respectable school, but it still won't be enough. You'll have to beat your head against the wall of new information until the wall (or your head) breaks. Metaphorically speaking, the curriculum can only arrange these walls for you in the most effective order, and the mentor will monitor if you're hitting them at the right angle. That's how learning works, and you can do nothing about it. It's a cliche, but you need to be ready to make an effort if you want to see the progress.

1 of 2


In total, the project took me about two months. It's way too long, but I hadn't any deadline, so I could afford to search for references with no rush, experiment with textures, and even roll back to the very beginning and restart the work from the draft if I got exciting new ideas.

It's a stimulating challenge to manage a full production cycle for a game asset, and I hope my walkthrough will help to make this process easy and fun for some of you!

If you are interested, you can take a look at my other works or contact me through social networks:

Lena Chernetsova, 3D Artist

Interview conducted by Arti Sergeev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more