logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Generating Exotic Patterns in Substance Designer

Ishan Verma wrote a step-by-step breakdown of his procedural material Taktsang Monastery Wooden Panels.

In case you missed it

Read our previous interview with Ishan

Introduction

Hello, my name is Ishan Verma. I have been working as a Material Artist at Ubisoft India Studios for about 2 years now. I specialize in realistic textures and material creation for AAA games. Currently, I am working on the recently announced Prince of Persia: The Sands of Time Remake.

1 of 3

Taktsang Monastery Wooden Panels: About the Project

This material belongs to my very own replication series, where I decided to replicate a bunch of exotic references around the globe! I was always fascinated by Buddhist, Tibetan, and Bhutanese patterns. After digging many references, I came across a place called Taktsang Monastery which is full of colorful patterns and symbols all around and presently found in Bhutan. 

In this breakdown, I will be talking about my recent work where I replicated Taktsang Monastery wooden window panels in Substance Designer. I will be sharing various techniques and methods to approach and create wonderful patterns and designs.

Ideation/Key Factors

I simplified the reference into five graphical parts where each part holds a wooden panel and an individual design/pattern on it. I planned my approach for the wooden part to be semi-stylized, with patterns painted on the panels.

Even for the patterns on the wooden panel, I tried to break my reference individually and divided patterns into multiple sub graphs.

Breakdown

Generic Panel Structure Height

For wooden panels which would be the base of the material, I started with a Uniform Color Node as white, resized it with a 2D Transform, and gave it a bevel. This added depth to the wooden panel base shape.

For the macro surface details, I used one Perlin Noise node and rescaled it in Y direction to stretch it out. For adding slight wooden peel surface, I did two Slope Blur Grayscale nodes with main Perlin Noise. Instead of micro details, I wanted to get a slight stylized tint; for that, I used a Vector Morph node and blended everything on the main generic panel shape that I created before using a min darken and soft light mode.

For micro detail tint, I used a few Directional Noise nodes and blended them on top of the main panel base using soft light blend mode.

For creating a middle panel shape, I used a Circle shape node with several 2D Transform and blend nodes. I adjusted the panel using another 2D Transform accordingly and blended it over the shape I created.
I used the same 2D Transform and blend method for the whole structure and aligned all of the elements one by one to create a window panel. This height will be the final one, so I will keep it here for now! 

Pattern Planning and Shape Buildup

(A) Window Panel

I simplified the pattern here in a quadrant and for most of the patterns, I tried to follow up with small segments. It helped me to optimize my workflow in terms of repeating the pattern and creating color variation.

As my approach is semi-stylized for this project, I focused on flat painted patterns neglecting major color details.

The workflow steps are as follows:

  1. Creating custom patterns using Shape, 2D Transform, and Blend nodes.
  2. Creating ID maps using Flood Fill Node.
  3. Using those ID maps to create several masks accordingly with slight blends of grunge. This will lead to color variations and realistic tints.
  4. Combining all patterns in one and blending on top of the generic panel.

I started building up the pattern using Shape and Polygon 2 Nodes. Then I used several 2D Transforms and blend nodes with ‘Add’ as blend mode. 

For curved lines, I just used a simple uniform blur, rescaled it using a 2D Transform, and gave it a curve bend using Directional Warp and Gradient Linear 2. Then I used Mirror and Symmetry nodes to arrange the whole pattern.

(B) Middle Bottom Panel:

For other patterns, I used the same method as for the one above.

(B) Side Panel:

(C) Buddhist Symbols:

For Buddhist symbols, I used an SVG node. Pen tool was used to create all symbol shapes that were driven into mask and blended with the main albedo later.

SVG View:

(D) Dragon Art:

Color Palette and Color Setup

Firstly, I used Photoshop with my reference as document. In the image mode, I used Color Index to lower down color values; I used the value of 32 with Palette as Perceptual. For arranging correct color values and color blends to get the most out of it, I used Color Extractor and Gradient Extractor which can be found on Adobe’s website.

From Extractor, I extracted out natural values and color tones within gradients. I did it for multiple colors that were used in the material.

Then for the albedo, I drove Gradient Map node with a Curvature Smooth using the normal map created from the height. Then, I used these Primary Color variations for preparing the final albedo map.

A few examples: 

  • Blue-Cyan Scale:
  • Ochre-Yellow Ochre Scale:
  • Red Brown-Peach Scale:
  • Final Albedo:

2D/3D View

Then, I used all these extracted color values and gradients with the masks that were earlier created from patterns. Then, I blended them with multiple masks and layered all of them one by one to form the final albedo for all the patterns.

Roughness

For the roughness map, I converted the final albedo map to Grayscale using Grayscale node and inverted it. Then, I drove the normal map with a Curvature Smooth and blended it with the inverted grayscale version of albedo.

For adding more surface variation in roughness, I used Histogram Scan from both Curvature Smooth and Grayscale Albedo. I blended those masks on top of roughness with Max Lighten. 

Rendering

For rendering, I used Marmoset Toolbag. The scene consists of a sphere mesh with a 4-point lighting setup. Texture resolution used for rendering is 4K. Scene resolution is 3840x2160 with 400x sampling.

1 of 2

Challenges

During the production of this material, I found reference to be quite complex and time-consuming at first. I wanted to spend less time on the creation part, so I decided to optimize my workflow. For that, I tried to break up my reference into several parts and even separated patterns from all those parts to get a unified approach. That helped me to focus on only a quadrant part of the pattern; mirroring and symmetry played a vital role in the proper alignment of that quadrant part to get a fully layered pattern.

Moreover, this project taught me a lot about patterns and the use of various nodes together to form an impressive panel art.

Conclusion

Thanks to 80 Level for giving me the opportunity to share this breakdown. I hope this information gave you some insight into Substance Designer and the creation of such patterns. I feel that in order to evolve and grow, artists should always nurture themselves with new tools and techniques happening around.

I am always open to queries related to Substance Designer or game art, feel free to reach out to me anytime through my email, social media accounts, or ArtStation.

Ishan Verma, Material Artist

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more