How to Create a Colorful Squeaky Hammer Using ZBrush and Blender
Luis Peña told us how he created a squeaky hammer, explained how the toy was sculpted and how the details were added, and talked about the tools he used to work with the UVs.
Introduction
Hello readers! My name is Luis Peña, and I am a 3D Artist from Mexico City. I got into 3D when the lockdown started, and ever since, I haven't stopped learning new techniques, watching tutorials, and having fun with each project.
Until a few months ago, I was working as a 3D Modeler at KitBash3D. It was a great opportunity and experience, however, I noticed that given all the modeling I had to do, my texturing skills were being left behind. So while I look for my next professional challenge, I wanted to update my portfolio and polish my texturing skills.
I was thinking of a cool project to start, but I wanted it to be something different, simple, fun, and something you don't see a lot on ArtStation. One night, I was watching a very popular TV show in my country, where the main character usually carries a squeaky hammer. So I did a quick search on ArtStation, and I found out that there weren't a lot of those there. That's when I decided to make my own.
I started gathering references, but the images I found weren't that clear in terms of material definition. So I started to look at other objects made from similar materials and with the type of wear I wanted to achieve.
One cool thing I like to do at the beginning is to ask ChatGPT for general information about the object I want to model. This usually helps me quickly understand important details about the materials, how they are made, and what I should pay attention to.
Squeaky Hammer
Before moving vertices, I usually like to set up my Blender scene in a specific way. First, I like to turn on Cavity and Face Orientation, these settings help to easily see bevel widths and flipped normals. I also switched my units to centimeters. Finally, I created some folders for the different stages of the process.
Now to the fun part. As you probably noticed, I use Blender as my modeling software, and I am happy that more and more people are joining the Blender cult. This project was pretty straightforward in terms of modeling because the shapes and details found in these toys are basically cylinders.
However, I follow the same steps most of the time in all of my projects. I always start my blockout with a human reference in the scene, which helps keep proportions grounded and believable.
After the blockout is done, I move on to the mid-poly mesh. The goal is to model all the details while keeping as many modifiers as possible. This allows us to make changes easily if we need to. The mirror modifier is my best friend here because it allows me to work on halves or quarters of the model, reducing the amount of manual work required.
Next comes the high-poly. Even though I didn't do any sculpting on this, I took it into ZBrush to run some boolean operations as well as to add a couple of details. Since I had already established the bevel sizes in Blender, I just needed to smooth some edges after the Boolean operation. I usually rely on Polish, Polish by Features, and Polish Crisp Edges to achieve this quickly.
I always try to work with layers in ZBrush because this allows me to easily add details without being destructive, just in case I need to modify them later.
Once my high-poly is done, I start working on my low-poly mesh. It was quite easy to get because I used my mid-poly mesh as a base and just removed unnecessary modifiers, welded geometry, and collapsed vertices where possible without affecting the silhouette. For this project specifically, I didn't reduce geo as much as I would have on a game project.
UVs
Unlike popular opinion, I really enjoy doing UVs. To get the cleanest results, I use UVToolkit, Texel Density Checker, and UVPackmaster. The first 2 addons can be installed directly through Blender's Get Extensions panel. The last one can be purchased on the Superhive Market website.
When doing UVs, it is always important to try to keep UV islands as straight as possible, even if that means having a little bit of stretching. By doing this, we can reduce aliasing, and it is easier to hand-paint details later on.
I noticed that I could fit two squeaky hammers into a single Texture Map. So I duplicated the mesh and let UVPackmaster handle the packing. I usually tweak the margin and padding based on the texture size, set the Scale Mode to "Fixed Scale," and set the Heuristic Search to around 30 seconds.
After my UVs are packed, I add a triangulate modifier to the mesh with Keep Normals enabled. This ensures the triangulation remains consistent across Marmoset Toolbag, Substance 3D Painter, and any game engine.
For baking, I use Marmoset Toolbag most of the time. I import both my low and high-poly files, and then use fairly standard baking settings. I use a reflective material during bakes because it is easier to spot artifacts and shading issues.
I also recommend experimenting with the Ambient Occlusion Search Distance in the AO settings. Since this gives more control when adding dirt/dust in Substance 3D Painter.
Texturing
To begin the texturing process, I add one fill layer set to Overlay with low opacity, using the Curvature Map plugged into the Color and Roughness channels. On top of that, I add a Color Correct filter to slightly brighten the layer, an HSL filter with a black mask (filled with the AO map), and finally a subtle Sharpen filter.
I try to build textures gradually. I start by adding base PBR values with some Color and Roughness variations. After that, I start adding material-specific details, for example, veins on wood, grain on some kinds of plastic, and surface height information on leather. These help define the identity of each material early on.
Next, I move on to secondary details like surface breakup, edge damage, scratches, general grunge, stains, etc. The goal is to describe the current condition of the material. Is it new? Has it been used? Has it been damaged? At this point, I need to start thinking about localized details that help tell the story of the prop.
Finally, I add dirt/dust or any kind of environmental information that might have affected the object. Generators and smart masks help in this process, but it is still important to manually refine certain areas to get a more natural look.
Final Presentation
I used UE5 for the final presentation. I recommend checking out the video below, as it's the same setup I follow when building my lighting scene in Unreal. I use the standard 3-point light setup as a base, but for this project specifically, I used 3 fill lights and 4 rim lights. The point is to try to make all the details and roughness variations stand out.
Finally, I added a little bit of chromatic aberration, sharpening, and film grain to give the final render a more polished look.
Conclusion
Thank you all for sticking with me until the end of this interview. I hope you found something helpful along the way. There are quite a few more things that I could have covered, but the article would have turned out to be quite long, so if you have any questions, feel free to reach out. I am always happy to help other artists.
Finally, I want to thank 80 Level for inviting me to tell you about my workflow. Having my own article here has been a dream of mine, and I truly appreciate the opportunity. Keep on rockin'!