Zil Nomad Soviet Truck
Introduction
Hello everyone, my name is Gleb. I am a Hard Surface 3D artist from Saint Petersburg, Russia.
In 2021, I got into Gamedev and realized that I wanted to become a 3D artist.
I started learning the necessary software. Before that, I worked as a design engineer for some time and was already familiar with 3D in CAD programs.
Goals
The main goal of this work is to make something complex and detailed; to improve the skill of subdiv modeling, to practice texturing, and to use the acquired knowledge.
Inspiration
I’ve always liked Soviet vehicles. Trucks and off-road vehicles, in general, have their own unique look and characteristics. So I did not have to choose for a long time – “Zil 131” fits as well as possible.
The difficulty was that there were quite a lot of them on ArtStation. The truck is famous and has its own history, so it was necessary to make something unique. The concept was changed many times.
Finally, I decided that it would look good with a sea container instead of a kung or standard truck body. The main thing is not to miss with colors.
The big plus is a lot of refs, blueprints and drawings. I was also inspired by the work of Serge Andreyev and François Larrieu.
Tools
- Blender – high poly, low poly creation, sculpt
- Marmoset Toolbag 5 – baking normal map, rendering
- Quixel Megascans – props, refs
- Substance 3D Painter – baking all other maps, working with AO map, texturing
References
An important part of the work is the selection of references. In my case, since I didn’t know what it would end up being, the references were only for the truck.
As the work progressed, the number of references increased significantly.
To find refs, I used Yandex, videos on YouTube with reviews of the truck, and Avito (a local analog of eBay).
Non-Destructive Modelling
I started modeling right away with high poly. The mesh is pretty simple, but the modifiers give you the level of detail you need. Usually, it’s two bevels — one by angle, one by weight — and at the end, subdivision.
Or in the case of a cabin, where the shapes of the meshes are more complex, I have used such a bundle: subdivision, solidify, bevel angle method, subdivision.
Modifiers to the last are not applied.
This method saves time and gives you a ready basis for low poly by simply removing modifiers.
Actually, the low poly version has 180K tris, not counting props.
Sculpt
For my sculpting tasks in this project, Blender is quite sufficient.
When the high poly is ready, you can start sculpting. Before that, just duplicate the high poly to have the original mesh with modifiers. I applied all the modifiers on the high poly and added the multiresolution modifier.
I used the standard Blender brushes coupled with the alphas I found.
UVs
My main UV setup is UV Toolkit, Texel Density, and UV Packmaster. These are all add-ons for Blender.
- Texel Density – the title here speaks for itself
- UV Toolkit – a very handy toolkit; you can straighten islands, put them together as overlaps, and throw a checker.
- UV Packmaster – I always pack with this tool. In this project, I used the UDIMs workflow more clearly in the screenshot below.
Texel Density
Since the work is personal for the portfolio, I decided to depart from the norms of texel for vehicles, increasing it about 2 times.
That’s why the project was packed on UDIMs.
The texel itself differs from object to object by the principle of the importance of objects and their visibility in the frame, and their size relative to large objects.
Below is a scheme that better conveys the meaning of texel distribution.
Baking Normal Map
To bake normal maps, I chose Marmoset Toolbag. It is easy and clear to bake in it, there is a lot of control, and you can fix some bugs right there.
And since version 5 of Marmoset, it is possible to work with UDIMs.
The main thing when baking is naming. It is not the most pleasant part of work, especially in such complex projects where the number of meshes is huge.
But all issues of baking are mainly from incorrect naming or UV problems.
Baking AO Map
I bake Ambient Occlusion in Substance Painter with these settings. “Ground plane” is optional.
For this project, I baked the AO map separately, independent of texture sets, so that the transitions were smooth and logical, without blackness. Then I exported all AO maps and placed them in the base color layer in the full project.
This way, you can easily work with Ambient Occlusion directly in Substance Painter. I added fake holes where they should be, with a little shading.
I used an empty Fill Layer together with the Blur Directional filter in Passthrough blending mode to fix pulls in the AO map.
A simple Paint Layer also helps; you can use it to cover badly baked seams in AO. Also added smooth gradients — and all this in the Base Color layer.
After all manipulations, I just export the Base Color (Albedo) map and paste it into the texture project as the Ambient Occlusion Map.
This is what the AO map looks like after all manipulations:
Texturing
Texturing is my favorite part. For texturing, I start by setting up my Painter viewport. For that, I use Jason Ord’s setup post in this tutorial video that I recommend.
I start with the biggest areas and end with the smallest.
My texturing is an assembly of color variations, roughness, addition of dirt, dust and alphas.
- First, I have a sharpener, which is just a Passthrough layer with the Sharpen filter. The con is that it can quickly make your materials look noisy, so be careful with that.
- At the top, I have a Curvature overlay, which is basically the Curvature from the baked mesh overlaid in color.
This effect produces brighter edges while making everything else darker. I found that this effect makes the texturing more contrasty and nicer to look at.
Also, I used anchor points, which are very powerful. They allow you to retrieve information from a mask and work over it.
There are some examples of smart materials with anchor points:
The setup of sun damage material, and the render settings in Marmoset (about which a bit later), I have looked up from François Larrieu in his interview. His works are very cool.
With this, I want to say that a lot of useful information can be found in interviews with 3D artists.
My favorite setup of grunge maps in Substance – “Grunge Pebbles Dirt”, “Dirt 4” and “Humidity”.
Fits a lot of variations, but in this job, I used them mostly for dirt variation on the whole truck, in combination with the Curvature, Occlusion, and Position generators.
And then I just manually removed the excess. I also used the alphas of the mud spots in some places.
Details are very important.
If you’re not sure about the material or don’t have enough references to know how to visualize it, keep looking for references until you are sure.
To make the headlights, I used this tutorial from the 3D artist Konast. Very useful material.
Props
In this part of the work, I decided to save my time a little bit. I got props from Quixel Megascans.
But I’ve made changes to some of them slightly, for correct storytelling.
For example, the chain links that I downloaded from Quixel, I adapted to my curves. Or a shovel that I decided to retexture a little bit.
Rendering
I used to render in Unreal Engine. In this project, I decided to try Marmoset Toolbag 5.
I got the main knowledge for it from François Larrieu in his interview.
Basic settings from the interview that I applied to my work:
- I change the HDRI (Studio Cross or another studio HDRI) and put a solid background color, often a deep black.
- For the camera, I only work in orthographic view or 7mm perspective. I changed the tone mapping to ACES and Sharpen to 1.
You must also activate the Safe Frame, which allows you to display the chosen resolution so you can see what your render will look like.
The last thing is obviously to activate ray tracing. Increase the viewport samples a little bit – it will be prettier
I’m not a good light artist; it’s not my strong point, so again, no need to complicate things here.
The setup is pretty simple:
- First, I use two HDRI light sources — one for the left side of the scene and one for the right — so that both sides are lit when rendering.
- Then I usually use 1 or 2 spotlights to illuminate the front and rear of the scene and finish off with small omniphones to illuminate the front and rear headlights.
Conclusion
This project was a good opportunity for me to practice my modelling and texturing skills, and I hope this article is useful to someone.
Big thanks to the GamesArtist team for giving me the chance to share my art and the process of creating it.
Thanks for watching and good luck!