Dmitry Bely talked to us about the Industrial Lamp project, discussing the modeling of a weathered industrial lamp and texturing metal and glass using Blender, ZBrush, and Substance 3D Painter.
From Mentoring to Lectures & the Creation of the Industrial Lamp
Introduction
Hi! My name is Dmitry Bely, and I am a Senior 3D Artist. I worked on Halo Infinite, Battlefield 2042, PayDay 3, Project Baxter, and other projects. Recently, I have been actively involved in mentoring. I help novice 3D artists bring their skills up to the level of AAA projects.
Over time, I realized I wanted to do something more systematic, so I decided to record my own 3D course so that more people could adopt my skills. I chose the Handplane model and fully recorded the production, as well as additional videos with commentary on specific parts.
After publication, this course was seen in FutureGames. This is a leading game and art school in Sweden (and now in Poland). The representative liked the approach and quality, and they offered to hold a series of lectures for students in the Intermediate Game Art program on Hard Surface 3D art.
Idea & References
I chose the Industrial Lamp as an example for the course, which I chose for its simplicity and the ability to show all stages of production without skipping anything, with real-time commentary and interaction with the students.
And at the same time, it is an interesting asset with lots of small details, wear marks, and markings. Different materials such as metal, glass, and plastic. This allows several types of materials and techniques to be covered at once. I chose the paint material from another reference, but more on that later.
So that FutureGames students could not only watch the process, but also work with the asset, study the structure of the scene, and apply the techniques in practice, without copying my project completely, I put together a Pinterest board with similar lamps. They are different in complexity there, but the pipeline is the same.
Modeling
In my work, I follow a step-by-step pipeline. First, I create a blockout – this allows me to quickly find the shape, proportions, and overall composition. I have a project about it on ArtStation with examples.
Already here, it makes sense to assign simple materials to do some rough color coding.
Then I move on to mid-poly. This is the foundation from which both high-poly and low-poly are built. It should be accurate and clean enough to use as a base for the next steps. I recommend checking out this course. It is very close to the approach I use.
Next, I do high-poly, adding chamfers, micro details, transitions, and fusions. In this project, I partially used ZBrush to add logos, lettering, and to make edges more damaged, but due to a busy schedule, I wasn't able to spend as much time on sculpting as I would have liked.
I also do NOT recommend applying small noises in ZBrush as then you won't be able to flexibly edit them in Painter (e.g., scaling them to fit TD), and if you need to make changes to the basic noise, you'll have to go back to ZBrush, and that takes a long time.
In the low-poly stage, I use the same mid-poly model as a base. I copy the entire collection and go through all modifiers and simplify where possible. This approach helps maintain integrity and simplifies the transition between stages. It also avoids most of the problems with mesh fitting during the baking stage.
UV Sharps & Seams
I always start by shading. It is very important that, already at this stage, shading looks correct. Good shading on low-poly is as important as on high-poly. I assign all sharp edges manually; it gives me maximum control.
Once the shading is set up, I mark all sharps as seams to avoid baking artifacts. I then finish the UV by adding additional seams where necessary.
For UV, I use a bridge between Blender and RizomUV. I export the model, and there I do relaxing and final packaging.
Baking
I bake all my cards in the Marmoset Toolbag. It is one of the most reliable and fastest tools for baking, especially when you need to visually track the result and quickly correct the cage and skew. Painter has recently improved its toolkit and is also known for better quality Curvature baking, but I prioritize speed and convenience for now.
I have a fairly classic process. I always bake by group and name. I always do test bakes even before working out names to catch problems on UV and low-poly.
I also have a tutorial on baking and a breakdown of common mistakes.
Next, I set up the correct suffixes to make it easier to assign textures to the right slots in Painter. I recommend looking at this material to improve your workflow.
Baking the following cards:
- Normal
- Normal World Space (Object)
- Position
- Curvature
- AO
- AO2
- Object ID
It's also worth increasing the ray quality in the AO Maps to at least 2048. I recommend experimenting with the Search Distance parameter, as it affects the ray distribution density and, as a result, the final AO.
Texturing
I focused on metal. I chose a metal reference from another image because the original is very boring. It takes up most of the surface, and most of the nuances are concentrated on it: dirt, chips, glare, scratches. This is where I added more hand masks, diluting the procedural textures to achieve a natural rhythm of detail. Manual masking gives you more control over contrast and accents. But you don't have to do everything by hand. It is still important for us to finish an asset faster than a month.
It is critical to work through the masks. I use generators for base, then apply additional detail using fill layers. After that, I refined it all with custom grunges. I have a favorite brush called Ink Random. It allows me to touch up small details by hand. It's worth paying more attention to the joints when working out the materials.
I put the glass in a separate texture set. The reason is that it needs a separate shader with transparency support and an additional Opacity Map.
I also do NOT recommend adding real-world thickness to the glass. Yes, it follows real-world logic. But the glass shader for real-time rendering has a bunch of limitations and optimizations, and it will only look worse.
I exported the final textures in ORM (Occlusion-Roughness-Metallic) format, which is convenient for most modern render engines and viewers. This simplifies customization and speeds up testing of the result, but it should also be noted that Occlusion is rare when exporting. Therefore, BC-R and NM-M can be used instead of ORM. In that case, you only need two textures instead of three.
I also added labels, markings, and a slightly burned-out paint effect on the metal to enhance the storytelling of the asset. In my case, I projected a scanned decal of old paper. Then I refined it to fit the project.
Final Scene & Rendering
Rendering stage requires as much time and attention as modeling and texturing. In my case, the render polishing took as much time as the rest of the asset production. It's worth putting this into your plan when you're preparing work for a portfolio.
Lighting
In general, I use the standard three-point light structure (lighting scheme with key, rim, and fill light). I replace fill and sometimes the rim/key light with HDRi. And then I have more time to perfectly set up the key light.
Camera
It is very important to use the right color corrections. In the new version, they added Helix. I recommend you try it. It gets rid of a common problem when using ACES: too strong image darkening and excessive contrast.
Post-Processing
The main thing is to emphasize a little contrast and sharpness without overdoing it. This time, I also used LUT correction to experiment and potentially speed up the workflow.
I've also started using CapCut. I added a light animation of shape underlining in one shot. This not only helps with the visuals but also gives you more flexibility in presenting.
Right now, I'm actively recording a course on rendering props, so anyone can get their renders to a good level practically from scratch. Once it's ready, I'll post information about it on my ArtStation. Subscribe so you don't miss out.
Conclusions & Advice
There were difficulties, as in any project: somewhere, there was not enough time to finalize small details. But all this was a great experience, especially in a learning environment, where it is important to show not only the ideal result, but also the logic of decision-making at work.
If you are starting, do simple but neat things. Don't chase complexity, but strive for accuracy and correctness. And be sure to leave room for the joy of the process and praise yourself.
The industry is going through some tough times right now: many artists have lost their jobs, studios are downsizing teams, and juniors are facing a high threshold of entry. It's not pleasant, but it's important not to give up even in times of crisis.
Acknowledgements
In closing, I would like to say a special thank you to Joel Fällbom, the entire FutureGames team, and the students with whom we had a truly lively and inspiring experience. It was one of the most enjoyable educational projects I have been involved in.
I would also like to thank the 80 Level editorial team for inviting me to tell this story. I hope my experience will be useful to those who are just starting out in hard surface modeling or looking for inspiration for their own projects.