Ambient Grunge Node
Introduce yourself to the Ambient Grunge project via the landing page.
Features have been added and improved since the original introduction video, but the principle of usage had stayed the same.
What is it?
The Ambient Grunge Node was created to be a more creative substitute for the regular Ambient Occlusion node. It’s one of my favourite effects for 3D shading since it can be used for all kinds of cavity and procedural shadowing effects. It is also extremely powerful when used in combination with other generated shading effects like the ones provided in my Modular Metals package.
Where to Start
After taking a look at the introduction video, I recommend opening up the more recent bricks demo to see a simple example of the grunge node generating a cool effect. This is a fun demo to play with to see how changing the different parameters will alter the visual result.
Breakdown of Parameters
As new versions of the node are created, parameters are likely to change in number and order, so keep in mind that any images of the node you see in documentation such as this may be slightly outdated.
The generated gunge effect will be added to whatever you pass into the Base Color input. The combined color result will be sent out through the Color output socket.
Muck Strength defines the visibility of the grunge whereas Muck Level defines how far the grunge will stretch around the object.
Muck Scale defines the scale of the pattern created by the generated noise textures. If you want the generated grunge effect to have a consistent scale across all objects in the scene, then make sure they all have their transformation scales applied.
Muck Range Min and Muck Range Max define how far the grunge is able to grow around an object. This mask is defined by Ambient Occlusion data and will be more accurate in that path-traced Cycles rendering engine when compared to the EEVEE rasterization engine.
Muck Cleanup is supposed to represent sweeping away dirt from the most exposed parts of the mesh once the original grunge has been added.
Ambient Occlusion, AO Range Min and AO Range Max are used to simply add darkened areas to the mesh where Ambient Occlusion is usually generated. This is an artistic control if cavities are not as dark as you would expect.
Edge Wear Radius defines the width of the edge wearing effect around harsh corners of the object. Edge Wear Strength defines how strong the wearing effect will be and Edge Wear Variation will add inconsistency to the wearing effect. Edge Wear AO Muting will reduce the edge wear in areas strongly affected by Ambient Occlusion, as these would likely be less exposed to open air.
Dust Color and Dust Level define a layer of color that is added to simulate dust accumulation.
Color Override and Color Override Mix can be used to add color to the originally-generated Muck color data.
Normal Scale and Normal Strength control the simple generated normal data.
Global Coverage
You may want to use the Ambient Grunge node on multiple objects / materials in your scene at once and control the growth of dirt with a single parameter. This is possible by overriding the parameters by adding value nodes inside of the node group. Changes made to the parameters inside of the node group will apply globally, meaning any material using the group will receive the overridden values.
If you enter the node group by pressing the icon in the top right of the node, you will be able to find all of the inputs coming from the Group Input node. You can intercept those values by holding Shift and right-clicking while dragging your mouse over the node link. This will add a new connection point which you can plug a new value into.
Be careful while doing this as the links can be quite messy and you might accidentally slice the wrong value.
You can then create a new Value node (or any nodes you like to produce a numerical output) and plug this into our newly-created socket point. This can be done for any input. Now, any time you change that value, it will propagate for every instance the Ambient Grunge Node is used. This is how you can get global control for individual values.
Before and After
This before-and-after demonstration provided by community member Skurzef is one of the best demonstrations I’ve seen so far showing how the effect is generated procedurally around pre-existing geometry. Notice how there is a greater accumulation around areas of denser geometry by the base of the satellite dish where structural lines converge.