logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

How To Texture An Authentic Old Stove With Substance 3D Painter

Dalia Das guided us through the Old Rusty Stove project, explaining how to recreate the authenticity of a weathered, rusted stove as a highly detailed game-ready asset, while also sharing expert Substance 3D Painter tips.

Introduction

Hi everyone! My name is Dalia Das, and I'm a Senior 3D Artist from India with over six years of experience working in the gaming industry. I pursued a diploma specialization in 3D modeling and texturing, which gave me a solid foundation, and over the years, I've refined my skills and contributed to various projects, like AAA games, mobile games and AR/VR.

Also got an in-game credit for The Crew Motorfest, where I worked on creating detailed 3D models and textures that align with the game's visual style. My journey into 3D art began with my fascination with games – I was always captivated by how immersive and engaging they were. When I discovered the process behind creating them, I knew I had to be a part of that world. While I enjoy modeling, I've always felt a stronger pull toward the texturing side of the craft. Whether it's achieving realistic wear and tear on metal, the intricate details of fabric, or crafting stylized fantasy textures, I'm passionate about bringing surfaces to life in a way that tells a story.

The Old Rusty Stove Project

For the Old Rusty Stove project, I was inspired by the charm of vintage objects and the way time leaves its mark on them. I've always been fascinated by how rust, scratches, and wear tell a story of use and neglect, which makes old objects like stoves particularly intriguing. I wanted to challenge myself by capturing the essence of something aged and worn while still maintaining a sense of realism.

Initially, I focused solely on the stove itself, gathering references from various sources – photographs of old stoves, images of rust and metal wear, and even real-world observations. I paid special attention to how different materials aged like cast iron, enamel, and steel, ensuring I could recreate that authenticity in my work. As the project evolved, I decided to add more elements to enhance the overall narrative. I introduced a worn napkin and an old pot, both of which complemented the aged feel of the stove. I gathered additional references to capture the textures of fabric and the look of well-used cookware. These elements added depth and helped create a more cohesive scene that felt lived-in and full of character.

Throughout the process, I constantly referred back to my images, adjusting my approach in Substance 3D Painter and other tools to match the real-world look as closely as possible. The goal was to create a piece that looked like it had its own history, full of character and imperfections.

Modeling

I started by blocking out the oven in Maya. For this step, I focused on getting the overall proportions. At first, the backrest of the oven was smaller, and there was no LED display on the mesh, which made the model less functional and missed out on the details. Overall proportions were not looking right. So I looked for more references for the oven, then I changed the model, made the backrest taller, and the proportion right.

Before

After

Once I was satisfied with the proportions, I added the remaining elements to the scene and created a midpoly version of the model. After that, I moved on to the high-poly model. To ensure details were readable from a distance, I beveled the edges slightly more than on the real object.

Instead of spending time sculpting minute details, I focused on edge trimming and added a few surface details while deforming shapes. In general, I always use basic primitive shapes to block out. Slightly giving a bevel to the edges will help. For ZBrush, I used Trim Dynamic and Trim Smooth for the edges. I also rely on alphas to stamp on fine details like cracks, scratches, or surface irregularities quickly. I usually try to put as many details on textures as possible to reduce unnecessary geometric complexity.

  • Use kitbashing and reusable assets to save time;
  • Maintain a library of common elements like bolts, screws, and other details for quick access;
  • Utilize instances and duplicates in Maya to repeat elements without increasing file size;
  • Keep the polycount low during the initial modeling stage, focusing on getting the base
    shape right;
  • Reserve a few of the micro details for the texturing phase, as baking may not capture them well, and they are harder to control afterward.

When working on fabric, I often use Marvelous Designer for realistic cloth simulations. I tried to get maximum cloth folds and fill in Marvelous, then exported it into ZBrush for additional tertiary folds. Then, I decimated the file and took it to Maya.

Retopology

I usually start by retopologizing my high-poly models into low-poly versions in Maya. For this particular project, I used my midpoly file to make the process of retopo quick and easy as I didn't modify the mesh much for highpoly. As it is my personal project, I kept the bevel on the edges so that the baking process would be much easier. I tweak the mesh topology where necessary, ensuring that the edge flow is clean and that the polycount is optimized for game engines.

Unwrapping

Once the low-poly mesh is ready, I proceed to unwrapping. I often use RizomUV because of its speed and efficiency, though I occasionally work within Maya's UV Editor when needed. My primary goal is to ensure that the UVs are as distortion-free as possible, with seams placed in areas where they will be least noticeable in the final textured model.

I focus on packing the UV islands efficiently to maximize texture resolution, dividing the model into texture sets based on importance. For example, with the oven, I separated it into two texture sets: one for the base and front, including the glass, and another for the back and burner. I ensured similar texel density across the model, using tools like UV Kit in Maya to adjust pixel distribution for consistency.

For modular or repetitive elements, such as knobs or screws, I laid out the UVs in a way that allows for seamless texturing, often mirroring pieces to maintain quality while optimizing UV space. This approach helped me prioritize UV space for key areas that will be highly visible in the final render.

Baking

I used Marmoset Toolbag for baking because it offers better control over cage settings and handles complex bakes. I ensured all assets were properly renamed to match the low-poly and high-poly versions. This makes importing and setting up in Marmoset extremely fast, and any future changes for rebakes will be automatically updated using the quick loader function.

Before moving to Substance 3D Painter, Afterward, I ran a test bake to verify that everything was aligned correctly. These are the maps I baked in Marmoset: Normals, Normals (Object), Position, Carvature, Thickness, AO, and Object ID. Once baking is done, I check all the maps for any visual artifacts. If I got some, I tried to fix those in Marmoset only by using Paint Skew and Paint Offset. For this project, I didn't get any such artifacts.

Texturing

Texturing was the most time-consuming stage. When I worked on texturing, my main goal was to achieve a photorealistic look with layers of wear, grime, and corrosion that made sense both visually and logically. Here's a breakdown of my approach:

Setting Up the Main Materials

I always start by setting up the base material for different objects (like plastic for the knob and bare steel for the back). Creating different groups for each object using an ID map comes in handy. I always start by using Substance's Base materials as a starting point, which I can tweak later on. Once the base material is done, I start adding details. For the painted metal, I started with the base, which was bare steel with slightly rougher surface properties. Then, I added details to the base, like scratches and roughness variations, using filters and generators.

Once the base metal was done, I added a paint layer with subtle variations in the roughness and color to avoid a flat look. Using noise and procedural textures, I introduced slight discoloration in areas like the corners and edges, mimicking how the metal reacts to heat and wear over time. While using different textures I make sure using Triplanar mapping makes this process quick, except for some curved surfaces that may require some tweaking. I gave a very subtle surface detail bump, roughness, and color to make it a little more visible. For the corners, it can chip off following impacts or warp because of moisture. To achieve that specific effect, I started by painting some of the edges, also giving bumps around the edges of the damage to mimic real-life objects.

Adding Grime, Wear, and Corrosion

For grime, I used a combination of fill layers and smart masks. The smart masks in Substance 3D Painter are great for adding dirt and grime based on curvature and occlusion, so I used them to simulate how dirt would accumulate in the crevices and around the knobs of the stove. I layered multiple dirt and grunge maps using different levels of opacity, adjusting roughness to give the grime a greasy or oily appearance. Some areas were shinier to reflect grease, while others were matte to indicate older, baked-on layers.

For wear and tear, I used edge wear generators combined with manual painting to get more control over the result. The edge wear emphasized areas where the most physical interaction will happen like handles, corners, and edges. I also applied height maps to create scratches and dents, adding realism by simulating tiny surface imperfections.

Rust was a key element, and I approached it by using a rust material layer on top of the base metal. I blended it in using different smart masks so the rust would appear more heavily in recessed areas, where water or humidity would naturally collect. To create variation in the rust, I used a combination of grunge textures and manually painted areas to break up the uniformity, ensuring the corrosion looked natural.

Substance 3D Painter Tools and Tricks

When it comes to adding intricate surface details in textures, use layer masks for controlled wear and tear. For metal, I focus on edge wear, rust, and scratches, using both procedural and hand-painted techniques to add depth. I also blend scan maps with layer blending modifiers.

Analyze your details from various distances and angles. When adding color and roughness variation, be mindful not to introduce too much noise or repetition. Adding generators (Edge Wear, Dirt) helped automate realistic edge wear and dirt collection. Using paint layers for manual control where needed, especially in adding directional wear or more specific detailing like food stains.

When adding details, it's important to avoid introducing random color and roughness without purpose. Instead, observe references closely and replicate details as accurately as possible. Utilizing my baked textures as masks is a trick I enjoy experimenting with. I used AO and Thickness blended with a level's help.

The quality of your masks is crucial. High-quality alphas and stamps greatly impact the final asset. For my personal projects, I use Megascan's imperfection alphas and my own custom library. Anchor points are one of the most powerful and important features of Substance 3D Painter. They allow us to semi-procedurally drive detail by linking other layers to what we paint in an anchor point layer at the bottom.

Challenges

The main challenge I faced was managing realism: It was difficult to avoid over-detailing, especially with baked-on grime. Too much, and it could look artificial, too little, and it would look flat.

Seamless layering: Layering multiple effects – rust, dirt, grime – without overpowering each other requires careful mask management and blending modes.

UV layout: Ensuring there was no noticeable texture stretching, particularly when using procedural textures, required careful attention to the UVs. In the end, I achieved a balance of realism with an aged but still functional aesthetic, making the stove and pot feel grounded in their environment.

Lighting and Rendering

When it comes to the final presentation, Marmoset Toolbag is my preferred software for rendering artwork. Finalizing the lighting, composition, and camera settings was also fascinating, enabling ray-trace rendering and Depth of Field in Marmoset. My lighting and rendering setup typically revolve around achieving a balance between realism and artistic presentation.

I kept the lighting as simple as I could to maximize realism, often relying on a single HDRI and, at times, an extra directional light. I have also used omni/spotlights to avoid dim renders. Using rim lights, I separated the subject from the background and used shadow catcher in the scene to help enhance the visual appearance.

I set up the camera for different angles where I could capture the texturing detail of each object. I adjusted the field of view (FOV) to ensure that the perspective doesn't distort the model. I also tweaked the depth of field to focus attention on key areas of the model, creating a more dynamic look.

Speaking of post-processing, I didn't modify renders much in Photoshop. Some of my renders went through Photoshop's filters and levels, where the images were also slightly sharpened, saturated, and brightened. Some grain was also added to more closely resemble photographs. This lighting and post-processing workflow helps me bring out the details in my textures and materials while ensuring the model is presented in the best possible way.

Conclusion

The project took around four weeks to complete as I worked on weekends. The biggest challenge was to collect proper references that fit my vision. The most enjoyable part was texturing, where I could bring the prop to life by adding dirt, rust, and material variation.

Key lessons:

  • Optimized UVs and consistent texel density are crucial for crisp textures;
  • Kitbashing and reusable elements save time without sacrificing quality;
  • Pre-planning the model and visualizing it in-game can help avoid rework.

Keys to realistic game-ready props:

  • Proportion and silhouette: Ensure the object's shape is instantly recognizable;
  • Efficient modeling: Focus on texture for details, keeping geometry minimal;
  • High-quality textures: Material properties like roughness and wear are vital;
  • UV unwrapping: Ensure distortion-free UVs and maintain consistent texel density.

Advice for fellow artists:

  • Master the basics of modeling, texturing, and UV mapping;
  • Use references for realistic weathering and aging;
  • Be patient, as making realistic props takes time;
  • Keep learning new tools and techniques;
  • Engage with communities for feedback and growth.

For tutorials, check out Javad Rajabzade's and Substance 3D YouTube channels.

The Old Rusty Stove project took considerable time to complete. However, I'm pleased with the result. After a long gap, I have added The Old Rusty Stove projects to my portfolio hope you all like it. This project was not only a technical exercise but also a reflection of my passion for exploring the intersection of artistry and efficiency in 3D art.

Big thanks to the 80 Level team for giving me this platform to talk about this project. Thank you so much for reading the breakdown. I hope it was informative.

You can also check out my ArtStation and connect with me on Linkedin.

Dalia Das, Senior 3D Artist

Interview conducted by Amber Rutherford

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