Dan Tinco showed us the working process behind the Old Pruning Shear project, discussing setting up the spring and blades and texturing damaged rusty metal and plastic using Blender, ZBrush, Substance 3D Painter, and Marmoset Toolbag.
Introduction
Hello everybody, my name is Dan and I'm a 3D Artist. For over a year, I have been working in a studio in my home country, Moldova, creating props and environment assets for video games for Nintendo Switch, PC, and Playstation. My journey in 3D started in early 2020, at the beginning of the pandemic, when I first discovered Blender. When I opened it for the first time, I started tweaking buttons and tried to pick up with the software, but quite fast I understood that it wasn't enough. Thus, I started watching tutorials on YouTube and reading articles on various platforms. As time passed, I discovered new tools that suited me more for my specific needs, and I was getting better at using them. I guess trying to work consistently and making mistakes (and fixing them, of course) made me a better artist.
The Beginning of the Old Pruning Shear Project
I wanted to add a new piece to my portfolio that would have complex and interesting textures and to practice texturing skills. One day, when I was at my grandparents' house, I saw some old pruning shears my grandmother was using that day, and I liked how they looked. From the modeling perspective, they weren't that complicated, but as for the texturing part, they looked engaging and appealing, so I took as many photos as I needed from all the perspectives. These photos were pretty much all the references that I needed and used.
Modeling
For the modeling, I used Blender for blockout and low-poly and ZBrush for high-poly. In the beginning, I imported in Blender one of the images that I'd taken, the one that was from the top view, so I could get the right proportions. Nothing too special was done when creating the blockout, trying to make it look as close as my reference images. Once the blockout was done, I began the high-poly stage. For this model, I started to crease the edges of the meshes and subdivide them, later import them in ZBrush to DynaMesh and then sculpt.
For the brushes, I mostly used ClayBuildup, TrimSmoothBorder, DamStandard, and some Damage Brushes that I bought a while ago. When everything was done, I used Decimation Master to lower the polycount slightly, so my PC could handle the high-poly model.
For the low-poly, I used the blockout model without the subdivision modifier. As it was a model for my portfolio, I didn't mind the high-poly count for that kind of asset. I knew I would make closeup renders later, so I added some extra edge loops on places where there wasn't enough so the model would look good. Also, I marked the sharp edges to make the shading clean.
UVs and Texture Baking
UV Unwrapping and packing were done in RizomUV. In my opinion, it is one of the best tools for this kind of task. It has many tools that make working with UV much easier and enjoyable, and its packing algorithm is fantastic.
Texture baking was done in Marmoset Toolbag 4. I baked Normal, World Space Normal, Ambient Occlusion, Curvature, Thickness, Cavity, and Convexity. The Position Map will be baked in Substance 3D Painter. I use these settings:
Texturing Process
Texturing is the most exciting thing in asset creation. For this, I use Substance 3D Painter. Before starting the texturing process, I set up my substance project. I set specular quality to very high (128 spp) for a more accurate roughness display, I changed the environment map to Studio Tomoco (or to any neutral HDRI), and Active Color Profile to ACES_Standard_Log.
For red handles, I started with base red color, then added some layers with height damage and variations, as well as color and roughness variations. For the edges of the handles, I created color variations by using brighter and washed colors and for the concave areas – to make them darker and dirtier.
Mostly for the damage, I used stencils. By using anchor points to reference the mask, I was able to create new layers and reference these anchors, so I could create different variations for the color and height roughness.
For green hose handles, I used the default rubber base material from Substance 3D Painter's library and a lot of bluish and greenish fill layers masked with different kinds of grunge and noise textures to create a lot of color variation. In addition, I used metal edge wear and curvature generators to add some color and height imperfections, as well as used noise textures to subtract them to create more variation. To create the net pattern, I used an inverted tile generator with a lot of warp filters and subtracted with fill layers with noise textures.
To add dirt on them, I used fill layers with various dark colors and masked them using Grunge Pebbles Spots, using random scale and rotation. I also used Dirt Generator to add dirt in the cavities at the cut parts of the hose.
For the hose hole, I first created a pitch black color layer, then used previously created red plastic material, and on top of that, I added the same hose material but without the net pattern and with a noise texture to create some height variation. To add the edge highlights, I first added an anchor point to the hose mask and then referenced it on a new fill layer and added a blur filter with inverse divide as blending mode and inverted levels.
To create the metallic part of the model, I started overlaying a lot of fill layers with different tileable scratches textures, noise textures, and dirt and spots textures, as well as using Curvature and Metal Edge Wear generators to brighten or darken up some areas of the meshes. Almost every fill layer had slightly different values for roughness and height to add more variation to the metallic parts, yet I tried not to overdo it so it wouldn't look too noisy.
I first created the mask for the dark stained area (or rust area). I used a Basic Hard brush to paint where I wanted my rust to be. Then, I used a Warp filter to break the edges down a little and added a lot of fill layers with grunge textures with low opacity to add variation to the mask. After that, I added a couple of paint layers and added more variation to the mask by using different stencils and textures from my Substance 3D Painter's library.
Once the mask was done, I added a couple more rust scratches and then started to create the main rust/dirt material. As usual I started overlaying different shades and different values for the color and roughness, using noise textures, grunge textures and generators, sometimes using anchor points to reference masks and make them even more complex.
By doing this and trying to match my materials to the reference, I got the final result. Of course, I didn't describe everything I did step by step, but I hope these short descriptions and videos will help you understand how I did it.
Rendering
The final renders were done in Marmoset Toolbag 4. The cardboard model was downloaded from Bridge's library. For the lighting, I only used HDRI (Gdansk Shipyard Buildings) with a brightness of 1.5 and no other lighting source. For the render settings, I used ray tracing and 1024 samples. The camera settings can be seen below.
Final Words
Thanks to this project, I've improved my texturing skills and realized that I can do more and that there is more room for improvement. Special thanks to 80 Level and to Gloria Levine for giving me the opportunity to share the process of creating this asset and to the readers who took their time to check on this article. I hope it was useful or at least interesting to read it.
To people who want to start doing 3D or who are at the beginning of this road, although I have a lot to learn, I want you to not give up and keep working even if it is sometimes hard and demoralizing. Try not to compare yourself to others and think that they have achieved something faster than you or that they are better than you. Creating 3D art is joy, and comparison is the thief of joy – don't let it steal from you. Good luck everyone.