I switched to gamedev after 4 years of interior visualization. I wanted my virtual worlds to be more than just clean renders with expensive furniture and exclusive chandeliers, I wanted to tell stories through them so that people could explore and, maybe, feel them. That's why I quit my job and spent about 4 months working on my portfolio to become a 3D game artist. Fortunately, after applying to several places, I got a job at the local small company as an Environment Artist and it felt like my dream came true.
Most of my current skills - modeling, texturing, and others - come from self-education. I still have a lot of things to learn and improve on, and new challenges are very helpful for personal growth.
Vintage Soviet Military Radiometer/Geiger Counter DP-3B
Soviet Military Radiometer: Project Idea
Besides my job, I try to find time for personal projects. I regularly browse ArtStation looking for something new and interesting to get inspired by. One day, I saw a trending artwork by Samir Benounis, it was a Vintage Dosimeter, a very authentic one. Considering that I really adore vintage stuff, the choice of the topic for the next personal project was obvious. The main goals were to use fewer polygons and achieve the most realistic look I’m capable of at the moment.
Every project of mine starts with gathering enough suitable references that are very useful at each stage of the production. Fortunately, it was not a quite problem to find them for this project.
For references, I use PureRef, it’s a very handy application.
I started from a blockout following existing blueprints and references. Then, I made a mid-poly mesh to determine all the parts I will use later and decide what details are better to be done in low-poly and what details will be baked on the normal map. The wire was done using splines with thickness. All the elements were separated from each other so that I could work on them later.
After that, I moved to the high-poly stage. Almost all the necessary high-poly parts were done using default 3ds Max tools. Most often, I use Max for the low-poly stage and modeling in general. There are a lot of arguments on the internet about what 3D software is better but I think it doesn’t really matter what tool you use. After all, it depends on your personal preferences. Try a few packages and choose the one that suits you better and helps to resolve your current tasks.
As for the body of the device and the probe (stick), it was a little more complicated.
In real life, those parts are painted. I will speak of the materials a little later but the point is, paint makes both outer and inner edges look smooth. For me, the simplest and the fastest way to achieve smoothness is to use ZBrush. After watching a wonderful Military Radio tutorial by Simon Fuchs, I learned a handy way to make edges look smooth there. You need to make quick UVs based on the hard edges and use them to create polygroups in ZBrush. Next, you need to use Dynamesh and create a mask by feature (grow/blur/sharpen mask, etc.). After that, polish masked edges until you achieve the required result.
If you are interested in this technique, you can find more details in Simon Fuchs's tutorial.
Overall, in the modeling part, it was crucial for me that the model didn’t have any visible chopped sides where the surface must look smooth and rounded. At the same time, I tried not to use too many polygons. I still need to practice a lot to feel that balance better.
Properly packed UVs are essential for 3D game art. For me, this part is one of the most time-consuming stages of production.
There are a few crucial rules I follow every time during my work with UVs:
- It's very important to keep UV shells straight where it’s possible. Tilted shell borders may affect the quality of the final texture and you will have jagged (aliased) lines. It may become more noticeable when texture resolution decreases.
- When you make smoothing groups and hard edges are created at the joints, those edges are needed to be cut and given some padding. This helps to avoid issues such as gradients on the normal maps.
- Always keep your pixel density consistent and use UV space as rationally as possible, with similar items arranged together.
After giving all the separate parts of the low-poly and high-poly meshes proper names (with _low and _high prefixes) and assigning materials to the high-poly model for color ID map bake, we are ready to move forward.
There’s nothing really fancy about my metal material. I took an existing smart material of hammered paint (after drying, it looks like hammered metal) made by James Ritossa as a base and played with the settings.
I also made a few custom masks and anchor points for the scratches, wear, and dirt. It is important to estimate what parts could be damaged, where they could be worn out and clogged by dirt. At this point, it's very helpful to carefully study the reference.
I think that the more time you spend on the texturing process and adding details to your model the better it will look. Adding text plates, labels, and lettering was my favorite part. Attention to such details helps to achieve a more realistic result. For me, the easiest way to add text is to make a square alpha mask with the necessary text and symbols and later place it on the texture.
After the mask projection, I added some scratches using scratches brush and other touches such as rust and dust combining procedural masks, generators, and brushes with different blending options. This technique is relevant for the rest of the lettering including the screen.
I usually render my models in Marmoset Toolbag because it's easy to use. When setting up the light, I basically follow the standard three-point lighting scheme (key light, fill light, and backlight) combined with the HDRI environment. After that, I add a few more lights with different colors to achieve better volume and emphasize some details. It all depends on the mood you want to convey.
As a final touch, I added some adjustment layers and dust texture in Photoshop.