Grungit - 1-Click Wear And Tear

by Abdoubouam in Scripts and Addons

New in v1.6/1.6.x

  • Multi-object support
  • Occlusion is now affected by all objects, giving a better result when using multiple objects
  • UV Pack by material
  • added 512x512 and 256x256 resolutions, useful if you have a lot of objects and materials
  • Bug Fixes
  • "Quick mode" (no edge wear, useful for imperfections) 
  • Temporarily switch to CUDA when using Optix for baking, then revert back to Optix when it's done. Optix is faster than CUDA with Nvidia RTX cards, but it does not support some nodes yet (AO and Bevel) and it gives wrong results. When it gets fixed in newer Blender versions I will revert the change and allow Grungit to use Optix.
  • 1-click PBR Baking (initial implementation). It generates Base color, metallic, roughness and normal maps for all selected objects and materials, saves them, then switches your old nodes with the new baked images. It doesn’t delete the old nodes, it just disconnects them for convenience. 

Check the release notes below for more information.

What is Grungit?

Grungit is an addon that automatically and effortlessly adds wear and tear to your models with a single click. The result is fully controllable and can deliver anything from imperfections and light wear to heavy damage.

Why Grungit?

Unlike other methods, Grungit has very little impact on performance and it’s fully compatible with EEVEE, but surely the most important benefit is the considerable amount of precious time it saves.

The main goal of Grungit is to assist you, not to dictate a specific style that might not suit your needs, and it doesn't impact your workflow. That makes it very versatile and can deliver all kinds of results : You can use it to add subtle surface imperfections to give your renders an additional layer of realism, or you can make a painted surface for a machine with a lot of grunge, scratches and dirt.

Grungit is a result of over a month of work and went over several iterations and adjustments, and then it was used and tested by several artists. After listening to feedback, I improved the quality of the results delivered by Grungit, and I fixed the reported issues and bugs. I'm excited to announce that it's finally ready to be published. There are several features and improvements planned for future updates, so make sure to grab a copy and you will have access to all future updates for free, even when the price eventually increases.

What are the benefits of Grungit?

  • Very simple and fast: Grungit takes care of all the tedious and repetitive work for you. Even if you are a blender expert and know how to achieve the result, you will still need several minutes to set everything up (assuming your model is simple, and you already have a a node tree ready, otherwise it can take hours!). With grungit, you only need to apply the effect once, and it will take from a few seconds to a couple minutes to prepare your model.

  • High quality grunge, dust and scratches: Grungit comes with high quality shaders and textures, this ensures you get the highest quality of scratches and grunge in your models.

  • It keeps your existing node tree: If you already have a material with textures assigned to it, Grungit automatically takes care of it for you

  • Customizable: Grungit was made with customization and flexibility in mind. The default settings are a decent start and could be what you wanted already, and I added a "Global Control" parameter to control the whole effect to make it simple to use, but I also left all the parameters you need to have full control over the effects. Just make sure to read the documentation if you are not sure about something.


  • PBR : Grungit uses the standard PBR workflow (Base Color, Metalness, Roughness, Normal), which makes baking and exporting to other DCC packages and game engines the same as before. If you use a plugin to bake the maps and it's smart enough to use locate the Principled BSDF node, then it will work without any extra tweaking.

  • Topology-independent : The end result doesn’t depend on the topology and density of your mesh. It doesn’t matter if you prefer subdivision modelling or booleans with a ton of n-gons, Grungit just works out-of-the-box.

  • Compatible with EEVEE: Aside from the ease of use, this is perhaps one of the most important features Grungit offers. To this point there is no simple way to create edge wear in EEVEE since the Ambient Occlusion and bevel nodes aren’t supported in it, and the default pointiness node depends on the topology and doesn’t work well most of the time. Grungit takes care of everything for you.

  • Animatable: The effect can be controlled and animated. This allows you to make, for example, interesting animations or have several variations of the same model.

  • Support for manual masking: if you want to increase or decrease the effect in some areas, you have the possibility to manually paint an additional mask texture. Use white to add wear, black to remove it, and gray to leave it unchanged. 

  • Fast render times: Alternative methods like using the Ambient Occlusion and/or the Bevel nodes in a complex nodetree significantly increases render times and noise. By doing the calculations only once and caching the result, Grungit gets rid of the issue. Some test scenes with the alternative methods took 20 minutes to render in Cycles, but only needed 25 seconds to yield a comparable level of noise when using Grungit, and it made it possible to render it with EEVEE which took about 1 second. In that example the rendering is about 50x times faster, not counting the time it would take to make it from scratch instead of using Grungit.

  • Auto-unwrapping: Sometimes you don’t want to waste a lot of time making perfect UV’s, that’s especially the case if you are working on the high-poly version of a model, or if you have many assets that don’t need to be very optimized where where texture space and seams are very important (mobile games, for example), or when you are in the concept/prototyping phase and you will take the time later to create production-ready UV maps. It uses Blender’s “Smart UV Unwrap” feature to accomplish it, and no user interaction is needed.
    This option is automatically enabled if Grungit detects that your model doesn’t have a UV map.

What do people say about Grungit?

In addition to bug reports and feature suggestions, I asked the artists involved in the closed beta-test program what they liked about Grungit. Below are some of the responses:

Everything. It is excellent to be able to apply grunge, scratches and dust so easy

Very easy and straightforward. A simple bake and ready to go with a few intuitive slides.

Its natural grunge giving power with few clicks

How easy and fast it is and how good the results are.

An almost perfect solution to something that should be built into Blender!

I like how quickly Grungit lets you test readability in hard-surfaces with the procedural wear, letting you tweak the effect to your liking through several kinds of workflows.

It greatly simplifies and reduces my workload when it comes to adding small detail to my models.

The material works really well and I don't have to make my own materials or import older ones.

I also asked whether or not it improved their workflow :

Of course, I no longer have to look for textures and join and join nodes to find a similar result. I will use it a lot

It does, I have in mind a big project, where everything will have to be rusty. This removes the need to go back and forth to Painter, and althought the shaders are slow to process, the memory savings are huge.

Yes, it makes it super easy to make good looking environments for small tests and will really help me whit my visual effects work.

Yes, it helps me visualize areas of rest vs detail in damaged metal while working on the design. While this would be optimal to do in the finished retopologized mesh, I've used Grungit while working with Hi-Poly before baking.

It very much does. Its usually pretty quick and easy to add some minor "Grunge" to any object now so it makes getting quick test renders far simpler.

Roadmap

Grungit is an ongoing project and I'm working on improving it even more. There are several planned features and improvements, some of them are :

  • Multi-object and multi-material support (added)
  • Add oil leaks, paint splatter, leaks and similar effects.
  • Improve grunge
  • 1-click PBR baking

The price will get increased a bit with the additional work and effort I put in it, but if you are already a customer then you will get the updates for free, so make sure to get it as soon as possible.


Your feedback is important, if you have any feature to suggest or a bug to report, or you want to have more information or get support then please get in touch, I read and reply to every message.



Release notes:

v1.5:

  • Supporting objects that have multiple materials,
  • Clearcoat support
  • Improved edge wear quality, it's easier to control and works well by default
  • Quality adjustments
  • "(Re)create UV maps" now packs faces that share the same material (default behavior)


v1.4:

  • Iimprovements to the dirt node, mainly a "contrast" parameter
  • Cracks
  • Minor bugfixes and quality improvements


v1.3:

  • Greatly improved dirt layer, it looks a lot better now and it's easier to control
  • Quality improvements
  • Fixed the randomness (in v1.3.1)