Worn Angle Grinder
Introduction
I specialize in creating 3D props and textures, focusing on realistic and semi-realistic styles.
Over my 4 years in the industry, I've taught at an online art school, led a 3D team for an indie passion project, and worked as a texture artist on an upcoming AAA title.
The Project
This asset is a hard-surface hero prop based on a modern angle grinder. Due to a busy professional workload, it’s been a while since I was able to post new artwork to my portfolio.
For that reason, the main goal was to showcase the current level of my artistic and technical skills, refined through daily work over the past few years.
Tools
- PureRef: Reference board
- Autodesk Maya: Blockout, SubD modeling, low-poly, UVs
- ZBrush: High-poly, detail sculpting
- Marmoset Toolbag: Mesh map baking, rendering, post-processing
- Photoshop: Refining baked mesh maps
- Substance 3D Painter: Texturing
Reference & Asset Plan
A solid prop reference board covers the asset’s shape, proportions, materials and fine details. It’s good practice to organize reference images into categories for easier navigation throughout different project stages.
For assets based on existing modern products like this one, finding multiple angles and material closeups in online stores should usually be fairly straightforward.
Storytelling
This stage is also the right time to define the visual storytelling and plan out additional accents, giving the hero prop its individual character. I define the object’s visual storytelling by answering questions such as:
- What is the object’s condition? (new/used, well-kept/worn, weathered, dirty/clean)
- Where and how long has it been stored? (wet/dry, dusty/clean environment)
- How has it been handled? (heavy/occasional use, professional/amateur)
For standalone personal projects, I like to picture a brief backstory for the prop’s owner to guide visual wear and material choices.
The backstory for this angle grinder goes as follows:
The power tool saw several years of heavy, careless use by an untrained owner. It was dropped frequently on site and underwent a few makeshift repairs before being abandoned in a damp, dusty room.
Developing a prop’s story is a helpful foundation for further artistic decisions, from material wear and geometry-changing damage to extra accents like tape and makeshift repairs.
Additional details should also serve the overall object composition and improve contrast along its material borders. With all these nuances in mind, specific detail references can be added to the board.
UV Optimisation Plan
In games, it’s common practice to stack UV shells of repeated or symmetrical geometry to optimize GPU memory usage, and this potential can be recognized in advance.
Since it directly dictates whether symmetrical parts can have unique texturing, planning which UVs will be stacked goes hand in hand with defining the prop’s story and accents.
Sorting these two topics out early is essential, as they directly impact all subsequent stages, starting with the blockout.
Blockout
When working on models with complex hard-surface shapes, the blockout stage doesn’t just lock down the proportions; it also captures all the subtle plane changes that are hard to read and breaks them down into simpler forms.
This makes it easier to establish the correct edge flow once I begin SubD modeling.
SubD & High Poly
When following the classic SubD-to-high-poly workflow, I start by refining the forms while translating all identified plane changes into clean topology. Paying attention to smooth, logical edge flow early prevents support loops from getting messy later.
I like to save a backup mesh somewhere in the middle of this process, so it can later be used as a starting point for the optimized low poly mesh. It’s also the right time to decide which high poly model parts can be treated as a single mesh and which need to be separate.
A rule of thumb that a good artist friend of mine likes to bring up is: if there is a material border, or if the real-world objects are separate, they should be separate on the high-poly model.
To keep the working mesh manageable and avoid unnecessary back-and-forth edits, I also often split single meshes into logical parts and merge them back together once each piece is ready for the next phase.
Using standard SubD, adding smaller hard-surface features like rectangular insets onto curved surfaces can easily ruin the shading. It is often a good, time-saving decision to sculpt them in ZBrush or handle them during texturing instead.
With the help of strong texturing techniques, both methods can deliver equally convincing results, in my opinion.
Sculpted Details
When adding sculpted details, it’s helpful to use ZBrush layers for a non-destructive sculpting workflow. For these kinds of sculpting tasks, I use a lot of drag-rect brushes with custom alphas, alongside masking and classics like Dam Standard, Trim Dynamic, and Smooth.
Thinking back on the pre-planned UV optimization, I avoid adding unique sculpted details in areas where UV shells are going to be overlapped later.
As noted earlier, I left certain hard-surface features for sculpting to save time. Apart from that, the details planned for this stage were larger wear areas, unique damage spots, as well as folds and creases on the wrappings.
A high texel density budget (100 px/cm² for this model) also allows me to sculpt material surface textures directly and bake them into mesh maps, as I did with the metal on the front part. It can bring interesting results during texturing, but it is entirely optional in this particular case.
Sculpting creases and folds offers a much more fluid and controllable workflow than adding them purely as normal map details later.
While working on the high-poly electrical tape and fabric bandage, I defined the tape layers during SubD modeling and then built up the primary folds in ZBrush, leaving only the minor, random surface creases for the texturing stage.
Low Poly
At this stage, I identify all high-poly features that don’t need their own geometry to look believable from the target camera distance. Since this is a first-person hero prop, the player’s camera is going to be right up in its business, roughly 30 cm (12”) away.
Lots of secondary insets, offsets, panel seams, steps, and gaps that are not crucial to the object’s silhouette fall into this category and can be left out.
Meshes that were separate on the high poly can be merged together if they aren’t required to move for animation and doing so doesn’t conflict with polycount optimization.
Next, I dissolve and collapse excessive edge loops and rings that don’t affect the silhouette (this approach can vary for models made for Nanite, for instance).
Rounded shapes require extra attention based on the target camera distance. Sharp angled edges on cylindrical shapes like screws can quickly break the illusion, interfering with believable texturing.
UVs
Unwrapped UV shells should be kept straight and parallel to the axes whenever possible, especially their outer borders. This helps create a more compact layout and avoids pixel aliasing on material seams. However, this shouldn’t lead to excessive UV stretching.
With a target texel density of 100 px/cm² and a standard game resolution of 2048×2048, we have enough room to achieve high-definition, realistic textures.
These requirements clearly don’t fit into a single map, so we aim for a UV layout with the lowest possible number of texture tiles, suitable for virtual texture streaming or multi-material production setups.
Techniques like UV stacking, reducing texel density in less visible areas, and playing a bit of UV Tetris helped me fit everything into 4 tiles.
UVs must be prepared for baking in accordance with the chosen workflow. For a multi-material workflow, each tile is assigned to its own material and placed in the 0-1 UV space, with overlapping UV shells hidden outside of it.
For a UDIM workflow, supported in Marmoset Toolbag 5, tiles can stay in adjacent UDIM space (1001, 1002, 1003, etc.), while overlapping shells must be moved into negative UV space so the software ignores them.
Baking
Baking mesh maps when dealing with a large amount of overlapping UVs involves additional mesh preparation, including exploding the model primarily for the AO pass to avoid phantom baked shadows in the wrong places.
To compensate for any missing ambient occlusion resulting from the model explosion, I add proxy planes specifically for the AO bake.
A baked material ID map will speed up the creation of material masks during texturing. Since it can be difficult to preserve assigned materials during the sculpting phase in ZBrush, using the finished SubD backup is a great shortcut.
Its clean topology allows you to easily assign the materials needed for ID baking, after which it can be subdivided and used in Marmoset alongside the detailed high-poly model.
No bake is ever perfect on the first try, especially with hard-surface models. After the initial test bake, I check the model for waving and corner gradient skewing, which sometimes occurs when baking rounded high-poly features onto sharper low-poly edges and propagates to other maps accordingly.
Most of these issues are corrected with Marmoset’s Skew Paint tool, while any persistent artifacts can be fixed manually in Photoshop.
Texturing
Finally, the stage that makes the largest contribution to the prop’s realistic look. The key to succeeding here lies in having solid references for every material and detail, gathered at the start of the project.
My process is divided into three general steps: Base Materials, Unique Features, and Detail Masks.
Throughout each step, I keep two core principles in mind to maintain believability and an eye-catching appearance: capture every opportunity to enhance the model’s volume and ensure materials and details have enough contrast to stay readable.
Base Materials & Variations
Finalized base materials should deliver a clean, factory-new look on their own. They set the primary micro-surface detail, breaking up flat surfaces with grain, subtle irregularities, or fabric weaves.
Delicate color and roughness variation layers add detail depth to the model’s final look. Regardless of a layer’s main purpose, I tend to have each of them affect the Base Color and Roughness channels to make details readable under various lighting conditions.
Unique Features
This step involves adding extra geometric details not present in the high-poly bake via normal maps, as well as flat elements like decals, text, or logos.
The MatFX HBAO filter is particularly useful when working with textured normal details. I make sure additional features affect all relevant PBR channels to maximize perceived volume and match the quality of the baked normals.
Detail Masks: Highlights, Wear & Tear, Dirt & Weathering
This step goes back to the storytelling plan, which provides a clear list of details to add. To create them, I use a mix of procedural and hand-painted techniques.
Most masks, from base materials to dirt layers, get their own anchor points so they can be reused or integrated into layers on top. This is a time-saving way to keep complex layer structures non-destructive for adjustments and polishing at later stages.
Adding soft curvature-based highlights and AO-based shadows to the Base Color channel makes the model feel more volumetric.
This technique needs to be approached with delicacy so the colors depict soft edge wear and ingrained dirt rather than uniform soft lines, which are more common for stylized assets. I make sure these masks are broken down with their own grunge and vary in intensity and spread.
When working on wear and tear, it helps to picture its exact origin to place details logically. I blend multiple grunge maps in different layer modes to achieve the final masks. The worn look is introduced through three main types:
- Surface wear and scratches: More intensive on exposed surfaces, and minimal or absent in hard-to-reach areas.
- Custom wear: Hand-painted using brush alphas and stencils, or baked down from the high-poly mesh.
- Edge wear and tear: Based on the curvature mask.
Larger wear spots look more appealing when given their own edge highlights and ambient shadows. Supporting the normal map with other PBR channels makes the illusion of depth much more convincing.
Painting dirt layers comes down to finding fitting grunge masks and stencils to depict correctly shaped details like spots of dirt, dust, oil, paint, etc., and placing them in relevant areas.
Thinking of the origin is as important here as it is for the wear layers. Reference is key.
If the model is dominated by relatively rough materials, it’s great to break it up with some glossy details. People like looking at shiny things; I do, for a fact.
Such accent spots can have different reasons depending on the storytelling. The condensation streaks in this model make a good example.
Already having a lot of things going on in underlying layers, we get a great opportunity to exercise attention to detail with this one: dried dirt, paint, and dust are partly washed off and gathered on the streak borders, supporting physical logic and giving the detail more contrast and readability at the same time.
A general look at the results of this step will help to make the texture composition more balanced and clean up texture seams often left even by tri-planar projections, especially when dealing with a large number of overlapped UV shells.
Final Touches
After going through all general texturing steps, I look at the final model as a whole and check if certain areas can be improved with slight post-processing filters like contrast/luminosity.
Adding subtle global gradients to prevailing materials is a great final touch that breaks up uniformity and makes the model look even more interesting.
Lighting & Rendering
Setting up lighting is one of my favorite parts because this is where the model comes to life and all the work put into texturing pays off, becoming visible sometimes even in unexpected ways.
I use the principles of three-point lighting for presentation and modify the setup depending on the individual geometry and camera angle. The light-source types are separated by function:
- Rim lights: Emphasize the model’s outline.
- Key lights: Illuminate the model from the front, highlighting its main focal point.
- Fill lights: Soften remaining areas of deep shadow.
- Accent lights: Highlight targeted areas of interest and add light-to-shadow variation to further improve the perceived volume of the model.
I like to produce a few general renders from different angles along with a handful of close-up shots. Adding camera roll, depth of field, and rendering with different focal length values can make the shots look much more dynamic.
Conclusion
I’m happy with the final result of this project and the response it received from the artistic community. Working on it helped me once again refine and solidify my hard-surface workflow.
Feel free to reach out to me on my socials:
ArtStation, Instagram, LinkedIn