Creating a Vietnamese Stove with Maya & Substance Software

An aspiring 3D Artist Oliver Ward has discussed the Vietnamese Stove project, explained how the stove itself was created, and showed us the workflow behind the beans material.


Hello everyone, my name is Oliver Ward and I’m currently in my 3rd year of studying Games Art & Design at Norwich University Of The Arts. I’ve enjoyed making digital art for a long time, with some of my earliest ‘artworks’ being created in an animation app on my old Nintendo DS from when I was a child. Then the release of the 3DS allowed me to quite literally create 3D art on another painting app that I downloaded. This then led me to study Games Art & And Animation at both college for 3 years, and now university for an additional 3 years. Throughout the 6 years on both of these courses I’ve juggled coursework and personal projects, and have learned lots both technically and creatively as a 3D artist.

I used the recent lockdowns of 2020 as a good opportunity to spend way too long at my desk and self-teaching myself various softwares and techniques. I really pushed myself out of my comfort zone by doing projects such as a creature sculpt in ZBrush and modeling an old BMW car in Maya. These didn’t turn out as the most successful pieces, however, taught me almost everything I know today. I have worked on several different projects since these, and have been applying all the knowledge I have collected to them.

In this article, I am happily showing you my project: The Vietnamese Stove. Showing you my workflow and anything that I think can be of value to share. 


Through experiences in previous projects in the past, I have realized that problems usually stem from rushing the pre-production stages. Finding a strong collection of reference imagery and thinking about your final composition early on is something I think that is really important.

I spent a good day searching through any ideas that came into my head. Usually, I like to search and look through websites such as Pinterest and Google. I initially search for something quite broad, such as a certain time period or even an event that happened in the past which interests me. I then save anything that interests me and compare the choices until I’ve found one I really like.

Once I had found the Vietnamese Stove idea, I then returned to Pinterest and Google to find high-quality reference images of the model. YouTube is also a great resource at this stage, videos such as disassembly videos of the model are very helpful. From all this time spent researching, I compile everything into one big reference board on Photoshop. With sections for certain parts of the model.

This board is something I’ll look at throughout the project, as it not only helps with the initial modeling but also the texturing and rendering stages too. 

High Poly

I started modeling by choosing a flat image of the stove that I can import into Maya as a guide for scale. I put this on an image plane and almost trace the image with the 3D model that I’m making. This makes sure that each piece is scaled correctly and you don’t get one piece looking bigger than the other.

There were a lot of curved surfaces in the stove model, so I was conscious of checking back and forth between my SubDivision modes to quickly catch any slight pinching or uneven surfaces.

I think it’s also crucial to think forward when doing the high poly model as well. For example, when I was modeling the moveable feet and arms of the stove, I had to think forward to the animation stage. If they’re scaled slightly wrong they can overlap when they retract during the animation. So I, therefore, made sure to keep on checking this by folding them in and out.

I tend to stick to a small array of tools within Maya when modeling, these include the likes of the Multi-Cut and Circularize tools. I find the duplicate special tool especially helpful for evenly spacing out repeating objects. 

Low Poly

The goal of this small project was to ultimately create a collection of 2D renders. I still wanted to optimize it for a game, but I also increased my polygon budget considerably to fit with the brief I had. I didn’t want any sharp or jagged curves to stand out and break the illusion of realism.

Retopology is something that I find can never be rushed, and if I ever do, it results in a bad bake and restarting the whole process. I like to instead put on my headphones and just go by the process piece by piece. This way it gives me a list I can work down and feels like I'm slowly making progress as I tick each one off.

Ideally, I like to use the high topology mesh as much as I can when retopologizing. One way is by using the lower SubDivision of the mesh and removing the supporting edge loops that I don't need, as well as rounding off any sharp edges. Another way is also by SubDividing the high poly model and then reducing its polygons either by hand or more commonly by the Reduce tool in Maya. This doesn’t work on every model but I find for a lot of shapes it’s a great way of getting an accurate shape. 


I also think that doing the UVs is generally a similar process to retopologizing. Once again, I work down the list of objects working one by one. My workflow here is to split my viewports inside of Maya, having the UV editor, perspective viewport, and UV toolkit tabs all open at once. This gives me all the tools I need to be laid out in front of me.

It’s good to always be conscious of prioritizing the faces and parts of the mesh that are more visible, as opposed to the faces that are almost hidden. Make sure that the key visible faces get plenty of space in the UV set. This is something that I find is easily forgotten but also a really good way of getting more from your textures.


Baking is actually something I quite enjoy, seeing the LowPoly mesh suddenly transfer its appearance is something really satisfying to me. For this project, I baked the model inside of Substance 3D Painter. The first couple of bakes I find generally always need tweaking. I think it’s good to be critical at this stage, as it’s much easier to tweak it now rather than when you notice a bad part of the bake halfway through texturing. 

For the bake, I decided that two 4k maps were about right for what I needed. I split it up as 1 map for the stove and then 1 map for the additional assets that I made for the diorama. As this model is also made up of lots of pieces packed tightly together, I made sure to bake with the ‘By Mesh Name’ setting enabled in Substance 3D Painter. This means that Substance will treat each object individually, therefore avoiding any messy baked maps.


Texturing is a stage of the pipeline that I absolutely love. I chose to do it inside of Substance 3D Painter. It’s the part where I can finally start bringing the model to life through fine details and various materials.

I generally start with the main bulk of the larger textures. For this specific asset, it was clearly the green and silver metal areas of the stove. I think it’s always essential to research the type of material that you’re creating and establish exactly what it is. For the stove, I found out the majority of the metals consisted of types of steel, this acted as a base from which I could build upon a convincing steel material.

From further findings, I could see that when parts of the metal get hot, over time they change color slightly. This exposes an orange and blue tint to the metal. I added this naturally to the metal through a low opacity layer, as well as a patchy layer mask. Now especially in animations, the light should pick up these colors as it moves across the surface.

Thinking about how the stove functions are something that also adds wear to the material. As I’ve previously mentioned, the arms of the stove swing in and out. This swinging motion is sure to create scratches where people are uncareful of it. Adding scratches around these areas adds both character and a sense of realism. I also like to think it creates some kind of story to the asset – being able to imagine someone creating those scratches by folding in the feet and arms.

General wear and scratches come from more than just swinging in the arms and feet of the stove though. I was careful to consider as many other imperfections to the model as well, some of these include: air bubbles and rips in the stickers, wear, and dirt where the feet of the stove rub against the ground, rust where rainwater can collect in cavities, the chipping of plastic on the dial, as well as many more.

Using Curvature Maps was a great way of placing these grunges where I wanted them. For example, I wanted the tears on the stickers to fall closer to the edges than to the center. To tell Substance 3D Painter to identify the edges of the sticker, I had to use anchor points. Once this was in place I was able to add the Grunge Map of my choice and the Curvature generator to achieve the desired effect.

Creating all of these materials usually consists of making use of Substance 3D Painter’s wide selection of Grunge Maps. I always find it important to make sure that each one is subtly blended into the one before. This is always quite easy to do by adding a levels layer to the grunge map that you use. With a Levels Filter, you can have fine control over what part of the Grunge Map you can and can’t see. Switching to your different material modes is always a good idea to keep up with things. I always like to keep a specific eye on the Roughness channel, as that’s something very important in the final renders.

I generally stick to similar tools between each project. For this stove project, I found tools such as the anchor points, tile generator, and filters such as blurs and sharpens very helpful.

Studying materials and thinking about how it’s been used is something I carry through all parts of the texturing process. Combining this with reference imagery of the textures really combines to make a realistic and believable end result.

Baked Beans

I always find that Substance 3D Designer is a great opportunity to create slightly ‘odd’ materials that you can’t quite create in Photoshop or Substance 3D Painter. As you can imagine, finding reference imagery for beans was a lot easier than finding it for the stove.

I broke the creation of the beans up into the 3 main parts: Firstly, by creating the cylindrical bean shape by using a mix of warps and polygon nodes. Then by duplicating this shape across the material, to form a seamless pattern. Lastly, by adjusting the final material set up which included refining maps such as the roughness, normal and ambient occlusion. Breaking down Substance 3D Designer materials is always a good idea as the graphs can sometimes seem a little intimidating.

Making the beans look as natural as possible was the key to making them look realistic. I tried doing this by using a tile sample node, making sure to increase random values such as the scale, rotation, color, and position to make it look as if they hadn’t just been generated by a computer. 


Rendering is really exciting to be able to see the project come together. It’s also something that I think is quite often rushed. I myself have been guilty of taking this final stage too quickly sometimes. All the hard work you did on modeling and texturing the model almost relies on this final part. It serves as an opportunity to highlight your hard work. For this specific render, I decided to do it inside of Marmoset Toolbag 4. I use a similar workflow to most of my projects:

  • The texture setup is important to note. I always spend time making sure that the Cavity and Ambient Occlusion Maps are set to the right intensity, as this can really transform your model. Adding SSS is also a great option, I added this to my beans, allowing light to slightly pass through the top layers of sauce. Doing this really brought them to life.
  • I think composition is almost, if not the most important part of the rendering process. I chose to do mid shots and some closeup shots to show both the asset as a whole and also the texturing work up close. Framing the shot with focal length and depth of field is also a great way of guiding the viewer's eye around your render. I used a focal length of around 60 for most of my renders. I think having a high focal length helped to make my diorama renders look more cinematic.
  • For lighting, I used an HDRI from Marmoset’s selection. I like to add one light and increase its intensity for it to act as an edge light. I usually put a bit of work into this light, making sure it’s not only at the right intensity but also the right sharpness and color. I can then fill in the gaps with other lights until I have a lighting setup that I like. I like to always think that I’m ‘painting with light’ when I do this.


I wanted the diorama to look natural and carry a story within it when you look at it. That's why I added the parts such as the smoke from the cigarette, the falling cards, and the eaten apple. Object placement is something that can bring a scene to life, turning it from a still lifeless image to something with a backstory to it. From just this simple arrangement of assets, you can see that someone has not only cooked beans on that stove but a variety of other things too.


Post-production is also important to enhance the images you render off. I do this inside of both Marmoset Toolbag 4 and Photoshop. I like to always add a subtle vignette inside of Marmoset, as I think it really helps to frame the asset instead of having just one block color. I like to add chromatic aberration and a subtle grain effect inside of Marmoset. These act as camera imperfections which add to the realism of the end shot. I tend to completely turn off the bloom effect, as I find this effect gives an unnatural look to renders.

The final stage is to import it into Photoshop where I add a Camera Raw Filter. Inside this filter, I adjust values such as exposure, contrast, levels, sharpness, and saturation to get the desired end result. Post-processing settings often vary greatly from project to project, it’s something that takes time and really demands your creative eye to critique every part of the image. However, once I had the desired look I was aiming for, this was about the end of the project.


To conclude, I’d like to say thank you to 80 Level for giving me the opportunity to write and publish this article. As well as to anyone who has taken the time to read through the page. It means a lot to share something I spend so much time and hard work on. I’m always happy to discuss further opportunities and answer any questions, so please feel free to send me an email or even a message on ArtStation.

Oliver Ward, 3D Art Student

Interview conducted by Arti Sergeev

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