The Infinite Surface Builder Procedural Shader For Cycles

by Nick Sayce Designs in Materials, Shaders, Textures

The Infinite Surface Builder, in short, is the quickest, easiest, most customisable, low memory eating and detailed way to make walls, floors, bricks and tiles, simply by adding the procedural material to a subdivided mesh. Added to that, the controls give you the fun of experimentation to create as many surfaces as you can think of! 


***The demo is recorded with version 1.0, since then, there have been many improvements up to the latest version 3.0, detailed at the bottom of the page.

 

The Infinite Surface Builder is like nothing else on the market; a procedural material that not only builds great looking brick and tiled walls, but with the huge amount of customisation available, can also build as many surfaces as you can think of. If it's purely a wall builder you're looking for, please take a look at one of my other shaders, The Infinite Brick Wall Builder as it's specifically designed for that exact purpose and has more specific controls. But if you're looking for a hugely capable brick and tiled wall builder with the option for infinite experimentation to create your own procedural materials as well, then this is for you! It's built for Cycles, not Eevee as the latter can't deal with such a complex node setup. It was initially built for procedural brick walls as I found using 4K RGB textures were using far too much memory and didn't scale well without repetition. This meant my scenes needed sacrifices, not as many textures as I'd like or lower subdivisions across the board; not with the Infinite Surface Builder. In most cases, the ISB will use 2/3 less memory because it's using the nodes that ship with Blender and uses mathematics instead of set colour data from RGB images. This means you've got more memory spare for more complexity within your scene without sacrifice. As you'll see from the images, using the ISB controls, a huge number of surfaces can be created. Of course there are limitations and I couldn't possibly know how many materials can be created because of the amount of customisation options. You can also drop in your own custom textures and use the ISB options on top for even more customisation. Any texture you build with the ISB will be completely seamless and will scale without repetition infinitely.

If you're new to Blender, that's perfect as you won't be searching for RGB textures, you won't need to mess around with UV's or the mapping issues and there won't be issues with setting up the displacement. And don't be intimated by the controls, you can still get the best out of The ISB because it's mostly experimentation with the controls. Sliding sliders about, changing a few values, that's all the input required so you can see changes very fast just by moving a slider.



The above image of a corroded brick wall and its scale variations was created by the ISB and the below image is using the ISB controls to mimic a 4K RGB texture.



CREATE OTHER SURFACES

It's not just brick, rock and tiled surfaces you can create, with all of the settings, sliders and customisation options available many more surfaces can be created. Here's a few I could think of, more materials are in the gallery above and I have no doubt that many, many more can be created with the ISB!


THE CONTROLS


The Infinite Surface Builder controls are located in the Blender's shader editor. Drop the shader onto your mesh and head over to the shader editor to make your changes, they're very simple to use. Everything is clearly labelled and the 11 part tutorial series covers everything, along with a pdf manual with many visual examples; the link for the tutorials is below, though they're also a great way to see what the ISB does in detail! There's no reason why you can't just put the material on, put in some random numbers and shift a few sliders and you'll have a custom surface!


A NEW FEATURE!


Hi Guys,

There's been an effect I've wanted to incorporate since the beginning and I just couldn't get it to work. Finally, I have and it's now in the latest version, 2.1.


It's an effect which creates uneven edges to the tiles. which makes a huge difference to the look of the surface and should open up even more possibilities for creating new surfaces.



As you can see, it changes the tiles dramatically and I'm really happy that this effect is finally in. The Tile Shape and Randomness still function the same, but now there's an added control called Uneven Edges. 0.500 is the recommended maximum, though no one's stopping you from going further!


If I figure out any new effects along the way, I'll incorporate them as soon as possible.

.

Happy building!


LATEST UPDATE 09/08/20

Hi all,

I've just finished building The Infinite Metal Builder and there's some control that I thought would be very useful in the ISB as well so I've slightly changed and added to the Metallic controls.



Instead of the control being a single, cumbersome colour ramp, it's now a simple slider. I've also added an anisotropic slider, I won't go into detail but it's just the way the light interacts with metals; experimentation with this and the new Tangent control is the best way forward so you can see the changes. You can pick X, Y or Z for the tangent, and you can switch the Radial UV to the UV map if you wish.


It's just a little extra control I felt wouldn't be too tough to implement into the ISB, it just makes the metallic easier to use and animate and gives you a bit more infinite.


Any other things I come across on my builds that I feel would be worth putting into the ISB, you can be sure I will.


Hope you're all enjoying using it.


24.09.20


UPDATE TO VERSION 3.0

Hi all,


I've finally finished updating the ISB to version 3 and as I mentioned in my previous email, it does mostly all of the same things version 2.2 did, but now it does even more and it does it better and more efficiently.

Rather than me detail every single point, it's a lot easier and recommended to have a look through the 4-page manual, it'll take all of 2 minutes and there are some important notes in there about certain new functions. I'll outline the main points below.


  • The UI has had a complete overhaul. I was never 100% satisfied with how cluttered the UI was, but at the time I built it, there were tricks I wasn't aware of and it was necessary. Now, as I've removed all but two colour ramps and put them into their parent node groups and also grouped everything I possibly could, the UI is far easier to navigate.


  • All of the effects and colour ramps are now in their own group. It makes for some pretty large groups, but it's far easier than having to mouse between all the controls. You can just TAB through all of them if you wish.
  • I've removed the Custom Texture area. With the new displacement options and effects, it didn't seem necessary to have these inputs anymore. In my quest to reduce the amount of nodes, wires and connectors, this felt pretty superfluous and the most obvious for me to remove. If however the common consensus is that it was integral to peoples workflow, please let me know and I'll put it back in the next update.
  • There are two added effects, Dust and Edge Wear. The Dust is based on AO data so it'll darken any creases in the geometry and the Edge Wear will reduce the saturation and brighten areas at the edges of the geometry. The edge wear can be a temperamental effect when you're scaling things before you apply the texture so it's best to make changes to the material and then scale or change it.
  • I've added an Abstract node group which all of the instantly useful texture nodes are fed into. This node is purely for experimentation and I just find it a lot of fun to use to create some awesome visuals as whatever settings you choose will mirror across all axis'. The purpose isn't always immediately obvious, but that's the fun in it, you're never quite sure what shape will come out depending on your settings with the multitude of controls at your disposal, so just give it some numbers, mix as many of the nodes as you wish using their sliders and see what comes out the other end!
  • All of the switches have been removed and in place, all of the controls you'll need are in the node group you're working with. All of the Main shapes have their strength, scale and rotation options contained in their labelled area of the group. Now there's no more need to make changes in one place, mouse over to the displacement amount or global scale to make changes, it can all be accessed simply by clicking or using TAB to scroll through. 


Obviously, it's very different from the previous iteration, but I hope you'll agree it's easier and more fun to use. The brick and tiled walls in particular are a huge step up from version 2.2 as, with the change of displacement the ISB now uses and a few more tricks I've picked up along the way, there is now far greater control of the shape. Plus, I'm really enjoying the abstract controls. I was very surprised when I applied it to Suzanne, I'm yet to see what it does with other complex shapes.


As usual, I've gone through it all with a fine tooth comb to iron out any kinks I found along the way, but because of the complexity of the set up, and the fact that pretty much everything affects everything else, certain permutations of various controls may produce a result I haven't seen yet. In which case, please let me know and I'll get straight on it.


The older version of The ISB will remain until the end of this month and then it'll be removed, so if you have reason to keep it, make sure you grab it before October.  I've put the latest version and it's manual into the downloads, so grab it when you can.


Please let me know what you think, it's incredibly useful to me to understand how people get on with it for future updates.


I hope you have fun with it!


Kindest regards,


Nick