Scattershot - Procedural Image Texture Scattering & Tiling With Voronoi

by CG Cookie in Materials, Shaders, Textures

Combine the power of procedurals with the details of image textures

Scattershot quickly distributes and randomizes image textures using voronoi scattering. This technique adjusts the vector coordinates of a texture before they get plugged into the node, so the image is only calculated once. 

The basic setup is incredibly easy to make and has about zero impact on performance:

But, that's barely the tip of the iceberg when it comes to using voronoi coordinates to their full potential. The color output of the voronoi texture can be used to randomize the texture in each cell in a wide variety of ways, and the edges between cells can be blurred and warped to disguise their seams. 

A full scattering / texture bombing setup is much more complex, and changes drastically based on how many images you want to scatter and what features you need to use in a given situation. 

Among other things, Scattershot will instantly cure any tiled texture of looking obviously repeated and will render faster than other methods of doing so. 

Scattershot gives you full control over how you want to distribute and randomize your textures with finely tuned, easy to use sliders. Some options require a procedural texture to be added inside the node, so you can always leave those options off during creation so that your shader will be as quick to render as possible. 

And, speaking of render times, this setup is surprisingly fast. The custom tri-planar projection that enables more randomization than Blender's box mapping is just as quick to render as using UV coordinates. If you don't need transparency, the difference in render time and shader compilation compared to a regular image texture is negligible.

When you click the Voronoi Scatter option Scattershot adds to the shader editor's node menu (you can add it to your quick favorites for faster access), any image texture that you have selected will be included in the node. That means that you can distribute several textures at once! Scattershot will randomly assign a texture to each voronoi cell. 

Scattershot also fully supports textures with transparency, so that you can easily layer the result over any other texture. In addition, you can enable stacked or overlapped transparency so that nearby textures can appear to be layered on top of one another! 

In order for all of these effects to work together and be customized for each situation, a lot of manual tweaking would need to be done to your scattering setup each and every time you want to use it. I, of course, do not want to spend time doing that. This addon was born of pure laziness so that I can get exactly the results I need in just a few clicks.

For more detailed information on the settings and how to get started, check the documentation page. Requires Blender 2.83 or later.