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.
In case you missed it
You might find these articles interesting
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!
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.
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.
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.
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 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.
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:
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.
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: