Benjamin Thomas talks about material art with Substance Designer, discusses the challenges of making believable nature-inspired materials, and shares some useful tips for beginners.
In case you missed it
You may find these articles interesting
My Name is Benjamin Thomas and I’m currently a Senior Lecturer in Computer Games Modelling and Animation at the University of Derby. I have been in this role for almost 4 years. Previous to teaching, I worked at Firefly Studios for over 11 years. There I worked my way up from a Junior 3D Artist to Lead Artist and worked on and shipped 5 titles.
During my time at Firefly Studios, I worked on the popular Stronghold series of games including Stronghold 3, Stronghold Crusader II, and Stronghold: Warlords. Other notable projects were MetaMoprh: Dungeon Creatures and Dungeon Hero.
Working in Substance Designer
It’s important to mention that my journey with material creation for games began around 2007 when I landed my first games job. Here I learned how to bake, create normal maps, use Photoshop to manipulate reference images to create diffuse maps, and utilizing tools such as CrazyBump to generate gloss and specular maps. You would pack maps into different channels, manually save DDS file types and build your materials in Max/Maya/Softimage before exporting to the engine. You got a sense of how all these different maps work together and how best to use the maps to get the result you are looking for. Actually, not too dissimilar to working with materials in Substance Designer and Painter.
In and around early 2014, the development of Stronghold Crusader II was coming to an end. I started exploring new workflows to improve the consistency in terms of quality but also increase the speed of our art pipeline. This is when I discovered both Substance Designer and Painter. From the outset, it was clear that by just utilizing features such as custom export pre-sets and shelf workflows, we could not only speed asset integration but we could start building a library of materials that all artists could access.
Getting Started With a Project
Whatever asset you plan to create whether that’s sculpting in ZBrush, a full-on environment piece, or a material, reference gathering is extremely important and this should always be the first step. Don’t just gather references for the sake of it but instead gather references that will be useful.
I like using PureRef to gather my reference images. As you can see below, this is a screenshot of my reference board for my Lava material. It’s worth noting that I also like to gather photogrammetry and renders of Substance materials and add them to my PureRef board. Photogrammetry is very important as a reference source as you are seeing the real-world data but also is very handy for sampling data too! This is something we will touch on later in the article.
Once this step is complete, I use my template scene and start experimenting and building the Heightmap first.
Working With Nature Materials
I approach my natural/nature materials by first studying the reference images and I like to break down natural patterns by thinking about how nature is formed, layered, and structured. Observing flow, patterns, and shapes is really important.
As you can see from these two gifs above, I built this material with natural layering in mind. I’m building from the ground up.
Secondly, I think about how the material/textures will be used later down the line and what iterations and usage cases there may be. I then start to explore in Substance Designer and build my Heightmap accordingly. A tip worth sharing, get your materials in the engine as soon as possible! From my experience, your material might look great in Substance Designer but how does it look in the engine? How does it work in context with other assets? Does it tile correctly? Does it perform? All of these questions can’t be answered in Substance Designer.
The purpose of this simple grass material was to take it into Unity and teach myself how to use Shader Graph for vertex blending. I wanted to blend 3 different materials using simple vertex blending.
The challenge with this type of material is to create natural tileable grass that blends correctly. This is when the layered approach comes in handy. Below you can see that I’m testing the tiling and trying to watch out for any large gaps and shapes that might be seen once the material is tiled over a large area. Generally speaking, this type of texture needs smaller details rather than large shapes and nothing that will stand out once repeated.
For those who are starting in Substance Designer, there is no magic formula or “correct way” in it. Yes, you need to master the software and understand image fundamentals such as histograms, bit depth, and blending modes, etc. but some nodes definitely work well together. For example, a gradient plugged into the curve node to manipulate the grayscale values can be used for generating all kinds of details. Below you can see I used this method to manipulate the profile of a grass blade. This method was used to create larger grass blades and leaves in the graph too.
Finally, I wanted to share my thoughts regarding a more complex natural material I recently made.
The challenge here was to create a material that felt like it was in motion, I wanted the molten rock and lava to feel like it's flowing.
Here I experimented with various combinations of blurs and warps to get that liquid feel. Nothing was feeling right until I combined these with the multi-directional warp node.
Above you can see a basic setup of a tiled linear gradient piped into the multi-directional warp with a Perlin noise driving the intensity effect. This was how I started to get the feel of this natural flow of molten rock and lava. Below you can see how the tiled gradient starts to feel liquid-like as the intensity is increased. Here I used the chain blend mode with 4 directions.
Once I worked this out I could go through the process of creating the basic rock shape and use this as the intensity input to warp the lava using the multi-directional warp. Below an early iteration of the lava shape, this replaces the tiled linear gradient from the initial proof of concept above.
Below is the final lava flow map using the same methods as above but with a more complex molten rock shape driving the warp.
To summarize, reference and observation are absolutely key when it comes to natural materials. Think about layering and construction. The most important questions I ask myself and gather from the reference are, how is this formed, how is this structured in the real world? How best can I use the nodes/tools to replicate this? Finally, get your material/textures in the engine and iterate!
Roughness is equally as important as base colour if not more important. If you want believable materials, then believable roughness is absolutely key. I see students/beginners who pay a lot of attention to the base colour and forget about roughness values.
My approach to roughness isn’t that complicated. Generally speaking, in Substance Designer I always create my base colour after the Heightmap. I like to keep the roughness value at 0.8 while creating my base colour which allows me to see colour only without roughness interfering too much.
Once the base colour is complete, I replace this with a black uniform colour which allows me to see the roughness values only and go from there. As you can see below, black uniform colour with and without roughness really highlights how important it is to see roughness without base colour complicating things.
My approach to creating roughness is pretty simple. I take the base colour, convert it to a greyscale image and tweak the values using a levels node. This provides me with a fantastic starting point to work from especially if your base colour is sampled correctly.
It's really important to have correct values and the best way to achieve this is by following PBR theory and having correct references. Generally speaking, sampling data from photos is bad as these contain data you don’t want in your textures such as lighting and shadows. One of the most important references/data for both base colour and roughness is photogrammetry.
Below is a comparison of my textures alongside sampled photogrammetry. In this case, the nearest data I could find was the lava stone from Quixel Megascans which worked great for my lava material.
I spent a lot of time here tweaking my values to get close to the reference. Again it’s important to state, get your material/textures in the engine and tweak to work with the desired direction.
My favorite material so far has to be my Mr. Whippy Ice Cream. I made this 3 years ago and it was the first time I tried to use Heightmaps to really deform a simple cylinder. My favorite thing about it is how I managed to get the sauce to drip over the surface. I want an ice cream now!
The most challenging material has to be the one I’m currently making.
I’m utilizing the linear gradient and curve workflow discussed earlier and aiming to create a variety of pot shapes. It’s in its early stages and here the overall goal is to push my shape building in Substance Designer.
Below are some examples of my shape building. Here I’m just using basic shapes and transforms to build the different elements. I am having lots of fun with this one and it’s definitely pushing my shape building skills in Substance Designer.
Tips for Beginners
I highly recommend checking out the masters like Daniel Thiger and Joshua Lynch. 80 Level, YouTube and ArtStation learning are great resources but I would like to throw a caveat out there. Please don’t just aimlessly follow a tutorial, experiment, and learn the different nodes.
Observation skills are paramount, observe the real world around you, take pictures and write notes. Practice making simple materials first, don’t jump in and attempt a complex Sci-Fi corridor. Start small, iterate, and practice.
Finally, I want to share some advice for beginners and aspiring artists, it’s OK to fail, I have had my fails and we all have! Don’t feel like you need to get likes or follows, make materials for yourself, and don’t be put off if you see awesome work. We all have to start somewhere and you will get there with practice and support. Engage with the community on Discord, Twitter, and ArtStation, etc., these are filled with fantastic, supportive, and wonderful people. We are here to help.
Thank you 80 Level for this opportunity to share my journey, thought processes, methods and I hope those who have read the article find this useful.