Breakdown: See Nick Creecy’s Winning Materialize Contest Material!
Meet Nick Creecy, Junior Artist at Spectre VR, a small studio specializing in VR experiences for feature films and TV series. When he entered the Materialize Contest, Nick was still a 3D student in Sydney, Australia. Being a Substance Designer user for about a year, he decided to join the contest and give it a shot. To our great pleasure of course, as his Chiseled Wood material looks absolutely stunning! Read on to discover its breakdown and download the material for free on Substance Share.
Nick Creecy: Before I begin, I’d like to thank the staff at Allegorithmic, the judges, and all the entrants for being a part of the Materialize contest 2017. It was a lot of fun, and there were some truly stunning and clever materials produced.
My material has been released on Substance Share to coincide with my breakdown, so be sure to pick up the files and play around with it. As the graph will also be available, I’ll pick out a handful of elements, to talk about.
I chose this material as I found multiple references that gave me a clear indication from the get-go on what types of parameter I could create - color, shape, and smaller marks and variations, that type of thing. These also gave me enough information to pick apart details of the material, so I knew exactly what to make.
It’s important to know the tools of the trade. By that, I mean that knowing how a man-made material was constructed in real life can significantly improve and speed up the process. With this in mind, I wanted to create parameters around the base chisel shape that would reflect different chisel tips.
I use the Curve node often to refine shapes. It has a lot more control and possibilities than relying on a levels or gradient map. I have used it fairly subtly within the graph here, mostly to highlight shapes, but it carries out much more powerful operations.
A lot of the detail marks in this graph are not all that complicated, but I find it’s always important to play around with different noises as often there are many happy accidents. For instance, the Fur node provided an excellent means of creating natural woodcuts across the material.
Depending on the material and its final use, micro detail isn't always important. For this material, however, I wanted to capture that slightly rough ‘unfinished’ wood quality. To achieve this, I warped a tiled linear gradient with both the shape graph and some noise. Once subtly blended in, it helped push the small layered fibers of the wood.
After finishing off the shapes, I always work on the roughness next, as that defines so much of the materials' believability. I usually start with a Grayscale Uniform Color node for quick increases and decreases of the overall roughness. This is also where I tend to use some of the heavier grunge nodes to give that variation needed for a realistic material.
In my experience, every new material has a different formula for getting its color right. Some are quick, and others require a lot of dissection. However, I usually start by combining two noises, then warping this with the final height graph. Then I pick a gradient selection taken from the reference images. I typically do this a couple of times and blend the results. I use the HSL node to pick out elements of my material for highlights/shadows. I also blend in a Curve Smooth node with the final Color map using the add/sub method. Doing this subtly replicates weathering over the peaks of the material.
Parameters are amazing for gaining full control over your graphs, and work even more wonders once you import your custom materials into Substance Painter. That being said, if like me you're more arty than tech-savvy, they can be overwhelming. I’ve simply exposed most of my parameters and tweaked the values. But if you're a beginner to Substance Designer, or have avoided creating your own parameters, I will go over the simplest one that I use very frequently.
This will create a parameter for a random seed.
First, go to your graph properties by either double-clicking the graph in the explore or double-click the grid background of your graph.
Add a new input parameter by clicking the plus.
Name your parameter any way you like and make it an integer 1. As a side note, an integer is a whole number as opposed to a float which contains numbers with a decimal point.
Next, find the node whose random seed value you wish to expose. Click the function button and create an empty function.
Click that button again, and we’ll navigate to the function graph. From here, we create a Get Integer 1 node. In its properties, we’ll choose the input parameter we made earlier. Finally, right-click the Get Integer node and select ‘set output’. And that’s that!
If you ever forget what your output should be (such as an integer 1 or float 4) take note of the bottom left corner and it will tell you what you need.
Taking it further
Since submitting my material for the Materialize Contest, I wanted to take it a little further and decided to add some final detail. I created a larger wood grain to help break up the shapes some more.
I have tried many different methods for making the wood grain, and this way seems like the fastest and cleanest. The basis for this is a linear gradient that is warped, and a dynamic gradient is used with another linear gradient to get the base grain pattern. By adjusting the amount of tiling in the gradient, the warping pattern, and the amount you get some very convincing and easily adjustable wood grain.
That’s it for the breakdown. Hopefully, you could take something away from it. Don't forget to pick up the full graph from Substance Share and use it, improve it or break it. I look forward to seeing any improvements on or uses of this material in the future.