Qu Bin Weaves Fibrous Fabrics with Substance Designer
Hello, my name is Qu Bin. I come from Qiongdao, in China, and I’m currently working at Coastline Animation Studio. I started working in the CG industry after I graduated from university in 2011. This is an amazing industry - it’s an environment in which your work involves creating imaginary worlds, by yourself. It’s a real pleasure to share my artwork with Allegorithmic.
Sources of Inspiration
I think that the inspiration for materials comes from absolutely everywhere. The reproduction of any real-life materials is a challenge. When you really get down to the details, any simple material includes a wealth of precision and information. ArtStation is also a great source of inspiration to me. There’s an immense amount of great artwork from other artists and I’m always impressed by the range of their ideas.
The Discovery of Substance Tools
The first time I heard about Substance was in 2013. It was a tutorial of detailing how to create a racing pod. I discovered Substance could quickly generate a variety of procedural textures, fast iterations based on the textures, and generate multiple versions of the same texture in a short time. Right away, I thought it was amazing. But I didn’t get deep into the features as I was busy on another project.
I started using Substance Painter soon after it was released and, very quickly, I found that the PBR material technique offered great art quality and production efficiency. I started importing Substance Painter and Substance Designer into our production pipeline.
For a long time, I thought about what kinds of materials could present Substance Designer really effectively. In the end, I chose NikeGRIP Socks, a knitted texture with regular fabric textures and color blocks, irregular grayscale distribution, and with good extensibility (so that, when the textile was stretched out, it would still maintain a knitted appearance rather than forcing a complete switch of textures).
The next step was to break down the material. After referencing some relevant knitting textures, I started making the base unit.
First of all, in order to apply color more easily later on, I made a simple base tiling pattern.
Then, I started adding some details. I maintained a grayscale graph throughout this stage, which would allow me to use the Flood Fill node to add color more easily later.
After that, I used two tile samples with the same parameters to tile the two patterns. One was used for coloring and the other for surface details.
I used the Flood Fill node to apply color. This node can modify each unit color generated by the Tile Sample node. Thank you, Allegorithmic, for providing such a cool node. I used two functions, Flood Fill To Random Color and Flood Fill To Random Grayscale, to randomly adjust the color and the lightness. The Flood Fill To Position node can be used with these two functions to add color to textures.
The functions are quite simple.
With this function, we can easily use any image to replace the original image, so as to produce a variety of knitting patterns.
The new Scratches Generator node is used for making plush textures. This is a very interesting node, not just for scratches, but also for a lot of things like thick fur, or even for making transparent hair textures.
As well as fluff I also added some larger ball textures to the material, to increase the feeling of fluffiness.
After mixing several layers of details, you get a very nice knitted texture.
After finishing the base material, I wanted to make some big ridges on the material, so that it wouldn’t be just a flat knitted texture. So I made a height map to add waves, and to adjust their sharpness.
But I had a problem with the rendering process. When fully stretched out, the displacement created problems with the 3D viewport. In the end, I scaled down the extent to which the material could be stretched, to fix the displacement issue.
For roughness, it was just a simple treatment. I made some variations between the fur balls and base texture to get some layered effects.
The Tile Sampler is the node I use the most. It can create procedural textures that can be either organized or disorganized. You can adjust it at any time during the process. It’s very convenient to change or replace any single element, in order to get multiple versions of the material. Then add some Flood Fill nodes (this new feature is awesome), adjust and tweak so that the material appears more natural.
We are trying to make a short animation in UE4. I’m mostly responsible for the material part, and I hope the project will be really impressive. I’d also like to do more personal artwork. So far, my artwork for the Materialize competition is the only one I completely finished. After being impressed by so many other excellent pieces of artwork, I’m going to do more material practice. And I’m really looking forward to it ^_^.