DUSTY IS A SMALL UTILITY SHADER FOR THE ARNOLD RENDERER CAPABLE OF SIMULATING THE SETTLING OF DUST. IT DOES SOME EXTRA RAYTRACING TO SEARCH FOR TOP OCCLUSIONS.

Maya snow node + Dusty Default Maya Snow node

Download

Installation

MtoA

Set the following environment variables, replacing $PATH_TO_DUSTY with the actual path on your machine.

ARNOLD_PLUGIN_PATH = $PATH_TO_DUSTY/bin

MTOA_TEMPLATES_PATH = $PATH_TO_DUSTY/ae

It’s also possible to copy the files into your MtoA install, but I personally prefer the first option. Just copy the files like this:

Files in /bin go to [$MTOA_LOCATION]/shaders

Files in /ae go to [$MTOA_LOCATION]/scripts/mtoa/ui/ae

HtoA

Set the following environment variables, replacing $PATH_TO_DUSTY with the actual path on your machine.

ARNOLD_PLUGIN_PATH = $PATH_TO_DUST/bin

It’s also possible to copy the files into your HtoA install, but I personally prefer the first option. Just copy the files like this:

Files in /bin go to [$HTOA_LOCATION]/arnold/plugins

Parameters

Input

Dusty expects an input to work properly, a dot product calculation of the shading point normal and the Y-axis. In Maya, just plug in a snow node, which takes care of those calculations. This is necessary to get the nice dust falloff, as Dusty only takes care of the extra raytracing to search for top occlusions.

Radius

The maximum ray length in which to search for object intersections in centimeters.

Spread

Limit the angle of hemisphere sampling with this. Smaller spreads will produce harder edges, whilst a larger spread will soften them. Equal to the AiAmbientOcclusion spread function.

Trace Set

Use this to limit the raytracing for this specific shader to certain objects. Dusty works with inclusive trace sets.

In an asset pipeline, it is important to set a single trace set name, eg “asset01”. Then set the same trace set name in the object shape node for all objects which you want to include. Objects that you do not want to include, you have to give another trace set name, eg “none”. This is important since inclusive trace sets will trace both against objects with the same trace set name, and objects without any name at all.