Ishan Verma wrote a step-by-step breakdown of his procedural material Taktsang Monastery Wooden Panels.
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.
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.
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.
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.
(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:
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:
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:
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.
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.
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.
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.
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.