, by Ishan Verma

A Contest Winner in One Day: The Indian Bridal Sneakers

Ishan Verma discusses the 3D workflow that helped him create a winning Great Shoecase entry - in just one day.

  • Design
  • Fashion
  • Interview
  • Workflow

In late 2021, the Substance 3D team launched the Great Shoecase contest, inviting artists to texture and render a sneaker asset using the Adobe Substance 3D tools. Ishan Verma submitted his entry shortly before the contest deadline. It won first place in the contest’s Showcase category.

Hi, I’m Ishan Verma. I’m 24 years old, and a self-taught artist. I’ve been working as a Material Artist at Ubisoft Mumbai since 2018. I specialize in realistic textures and material creation for AAA titles.

I originally came into 3D as curiosity led me into researching how 3D environments are made for video games. This started my journey into 3D art and material creation. In addition to my work at Ubisoft, I study Fine Arts.

Part One: Entering the Great Shoecase Contest

Rome wasn’t built in a day, but this sneaker was!

The Great Shoecase contest captured my attention as soon as it was announced. My workload at that time didn’t allow me to begin working on an entry immediately, however. It took me a couple of weeks to become fully immersed in the contest.

I carried out this entire project, start to finish, within one day – the final day of the contest, right before the deadline. More precisely, I had some idea of the direction my entry would take beforehand – I spent some time in the weeks leading up to the contest deadline looking for references. But I did all the ‘concrete’ work on that final day of the contest.

I was in a tricky position at first as I am not primarily a fashion designer, but I was confident that I possessed enough artistic ability to step up for the contest. It’s also established that a contest typically requires a lot of planning, time management, and topics to cover, but I knew I was taking on a big personal challenge to complete the entry within a day. Even though constraints existed, I decided to work in steps to solve them, which felt like a crazy rollercoaster ride for me to finish and submit my entry in time.

I subsequently divided my day into phases, ignoring the constraints, and outlined the steps below:

1. Referencing and Drafting
2. Color Scheme
3. Material Creation
4. Texturing the Sneakers
5. Planning my showcase scene
6. Learning Substance 3D Stager; staging and rendering
7. Designing a Behance Page, and adding the sneaker to Sketchfab

I created a lot of materials for this project, principally to texture the sneaker itself, but also to stage my final scene. As the main focus of this article will be on material creation, I’ll break it into two parts: my overall process for approaching the Great Shoecase contest, and my material creation breakdown.

1. Referencing and Drafting

I didn’t want to spend much time on technical stuff, so I avoided creating any workflow right away. Instead, I started off by collecting references. I was looking for references that looked good, that matched the ethnic feel I was hoping to capture, and that would be realistically doable in the short time I had available.

The original inspiration for the Indian Bridal Sneakers artwork was photographs of my mother’s wedding, where most of the women wore traditional Indian footwear, called jutti. Juttis are traditionally made of leather and adorned with intricate embroideries and ornaments. They are very common in north India and nearby regions.

In addition, my love for my culture and country runs deep, so I wanted to create a sneaker with a sense of ethnicity that reflects my home.

As a starting point, I created a reference board composed of patterns from different kinds of sarees, jewelry, and ornamental decorative pieces. Next, I conceptualized my ideas and drew very rough sketches of my own assorted patterns and designs.

As part of the final draft of material creation, I needed to project how these patterns would fill the sneaker. For this I carried out a color ID render pass of the sneaker. Then I tiled all the sketched patterns using Photoshop and then mapped them to the sneaker, which masked the color IDs. This gave me a rough idea of how the sneakers would look with patterns applied.

2. Color Scheme

The next step was to prepare a color palette for the textures. I wanted the palette to stay neutral and to be in analogous harmony. Analogous colors are groups of three colors that are next to each other on the color wheel, and a tertiary color; I decided to choose colors in such a way that even if few color shades changed, they would stay similar and resemble each other without distorting the visual feel.

The Adobe Color website allows you to extract a color scheme, theme or specific gradients based on various harmonies and tones from an uploaded reference image. It even allows you to play with the color wheel to learn and create various color harmonies on the go. Using some of my reference photos in this way, I created various color schemes in terms of analogous harmony. The scheme has three main colors: magenta, silver pearl, and gold pearl. I used these color charts to create gradients in Substance 3D Designer later.

3. Material Creation

I decided to collate and create a selection of materials for the sneaker, to cover it with ornamental patterns, like you see with ethnic wearables that have unique characteristics and symbolic values.

I’ll break down in detail some of the materials I created in the second part of this article. Specifically, I’ll look at my Base Leather material, Ornamental material, and Shisha (Glasswork) material.

4. Texturing the Sneakers

By this point, I had a library of delightful materials ready, which I exported in .sbsar format to be used in Substance 3D Painter. In Painter, I started layering textures one by one on each component of the sneaker by taking the draft I’d created earlier as a reference.

While mapping the textures I faced some UV-based constraints – a few textures were either mirroring, or creating unwanted seams. I played with various projections and triplanar tricks with most of the textures to get them to tile correctly without creating overlapping patterns.

Triplanar projection increases the amount of tiling and creates a small limitation over the micro details shown. For this I just converted texture filtering from Bilinear to Nearest to fix the blurry micro details. The disadvantage of using Nearest filtering was that it created aliasing, but thankfully Adobe 3D Stager handled the output like a boss.

Then I used Painter’s displacement feature very subtly over significant areas to ensure the surface details were distinct and precise. After that I used a custom brush with my Silver Leather material as a base, and painted borders of a few areas to break the ambiguous interconnection of patterns.

To add more depth to the sneaker, I took a fill layer and blended the baked ambient occlusion map with the textured one, which added a slight depth in most areas.

Here’s a view of MatCap view and my final output of the Sneaker from Substance 3D Painter:

5. Planning my Showcase Scene

My next step was to determine how to showcase the sneaker. I did a little brainstorming, with several ideas that came to my mind like what if someone wearing sneakers was about to enter a room with a low angle cinematic shot. That was an initial idea; this evolved into the scenario of an Indian bride in those sneakers walking onto a stage.

With this concept in mind, I decided to add some additional core materials to improve the overall scene; these notably included a Petal generator, a Petals atlas, a Scattered Petals material, a Saree material, and a Flat Stone material. I’ll detail precisely how I created these materials in Part 2.

6. Learning Substance 3D Stager; staging and rendering

My First Substance 3D Stager Experience

Once I had my textured sneakers ready, all that was left was to use Substance 3D Stager for rendering. Learning a new tool involves gaining some experience in a new workflow or pipeline, but I’d previously used Adobe Dimension a little, prior to picking up Stager. Stager has a redesigned, smooth user interface and intuitive workflow with a lot of new features that made it easy to learn and use in a matter of minutes.

Staging the assets

Importing and using assets in Stager was fairly simple; I started by placing two planes for the base. Then I applied my Flat Stone material on the first plane, and then Scattered Petals to the second, and then used a height map to give the petals a little depth. I didn’t want the petals to look repetitive though, so I made a lot of petal variations specifically for this material.

After the floor setup was done, I started placing the saree and legs in action and, according to the pose, allotted a sneaker to each foot. Given the shot and the length of the saree, the legs wouldn’t be seen, so I kept them as untextured helpers.

After that I populated areas with marigold flowers to give an occasion-based Indian celebrative feel.

Setting up Lights

The next step was to add a proper lighting setup to the scene. The Stager library contains a lot of environment presets; I added an environment stage from the Stager library called Studio Black Soft to the scene. In addition, I added a mild tuned spotlight behind the sneakers, quite near, to give the shot an ambient glow.

Applying Textures

As the sneakers had already been textured using Substance 3D Painter, I was able to use the bridge feature, ‘Send to Substance 3D Stager,’ to port them from Painter to Stager. The automated workflow imported/created sneakers with materials assigned to them in no time. Later, for other assets, I used the material editor to import textures one by one, for their specific material inputs.


To render the sneaker in Stager, I added a camera to the scene with 75mm focal length, and with depth of field set to 10%. Then, from the viewport settings, I switched the rendering mode to ray tracing. After that I enabled displacement, depth of field and anti-aliasing to 2X.

Interactive ray tracing gave me full control over adjusting the camera accordingly and tweaking details on the go to make a perfect shot. It also enhanced and boosted the shot and provided the scene with a realistic result.

As per the contest rules, I had to provide three renders using the camera presets specified by the Substance team, with a fourth render to showcase. With a few simple preset value tweaks I was able to take really good renders in time to submit my entry.

I found Stager to be a pretty decent renderer, and it provides a fairly simple ready-to-use workflow to render out realistic outputs. Since the contest it’s become one of my tools, and I use it often as a material renderer.

7. Designing a Behance page, and adding the model to Sketchfab

The final step was to create a Behance page, and to add a 3D model on Sketchfab. I did this, adding a little post-processing on my Sketchfab model to make it easier to view in real time, and my entry was complete.

Part Two: Material Breakdowns

I think that one of the strengths of my entry was the range of materials I created. I’ll break down a few materials I created to demonstrate my material creation workflow for this contest:

Base Leather material

The first material I’m going to break down here is the generic base leather material which I have used as the main base for most of the textures.

In this example, I kept the height simple, and started with a paraboloid shape squeezed inwards on the X axis with 2D transform nodes, and splattered in a manner to create the base weave pattern. Next, I used a Directional Noise 2 to warp the height and multiply its intensity by 0.5 to add variations to the surface. After that, I drove the height to the tile twice to get a bit more weaving.

After that, I connected the height to an Anisotropic Blur node to cancel out excess sharp noise, and then I connected it to the normal and height outputs. In the next step, I created another normal node with higher intensity and drove it with a curvature smooth node, which would drive gradient nodes with the pre-graded color schemes we created at the beginning of this breakdown.

The metallic and roughness maps were derived from inverted curvature smooth maps with another set of Anisotropic Blur and Levels nodes to get the right values.

Ornamental material

Now I’ll detail more about the creation of the ethnic materials.

The next material from the library I want to talk about and break down is my Ornamental material. It consists of a pattern arrangement based on the border of an Indian ethnic saree; this struck me as very decorative and appealing.

I wanted it to look subtle, so I used a paraboloid shape and tightened it with Level nodes. As a next step, I used a Rectangular Splatter node to create two borders, and then blended different circular splatter blends to create the circular motif inside the borders.

To create the trim, first I used a Tile Sampler node with a 10×10 tiling grid to get a good-looking trim; I later blended the base leather height map with the trim sheet’s height to get a base for it. Once done with height creation, I started working on the colors.

For the colors, I created individual Tile Samplers for each motif shape and, created masks for them using a Histogram Scan node. After that, taking magenta as a base color for leather, I used Silver and Gold Pearl color harmonies to color the individual motifs as per their masks. Then I multiplied a very blurred ambient occlusion map with the albedo to add fake depth to the motif and beads.

Inverting the curvature smooth and playing with levels, I was able to achieve acceptable results for roughness, as I had done for base color. Here, the beads mask was subtracted from the surface to soften it, and then added to the surface on the metallic map.

I concluded this material by adding an Ambient Occlusion node to provide the beads with suitable depth.

Shisha (Glasswork) material

I selected Shisha material as another material for the breakdown. This one was inspired by fabrics from the Indian state of Rajasthan. Since this material was going to cover most of the top portion of the sneaker, I decided to combine smaller and larger beads.

The first step was to construct a motif pattern, for which I created a petal shape from a circle, transformed it and mirrored it. Then, using a Tile Sampler, I tiled a leveled-out paraboloid shape and, using the petal shape as a mask, created a beadwork pattern. Following that, I used a Splatter Circular to splatter it out in four directions, creating the base of the motif. Using the paraboloid shape, I splattered it in a circular fashion, with a slightly beveled edge to add a mirrored piece to the center.

Later, for the border part, I used a Levels node to increase the levels of the paraboloid shape and created two bead chains, then blended these two chains together to create an overlapping chain form. Then I used a Transformation 2D node, rotated by 90 degrees to create vertical chains, and then blended these vertical chains with the original horizontal chains to get a cross-chain pattern. I then blended this with the motif pattern using a Height Blend node.

For the albedo I followed the same method as before by adding particular colors using Uniform Color and Gradient Map nodes for each motif and bead chain component with their respective masks. I also blended a slight Ambient Occlusion with the base color to add some fake depth to it.

Later, for the roughness, I took the leather material’s roughness as the base, then played with masks from the height map to give it the right feel. I did the same for the metallic.

Below is a showcase of the library of materials I made for the sneaker:

In addition to the materials for the sneaker itself, I decided to add some additional core materials to improve my overall final scene. These included:

Petal Generator

I first created a petal generator; for this I started by creating a petal using a square shape, and I used a Trapezoid Transform node to transform the lower lattice into an oblong. Then, for the surface noise I took a Directional Noise 2, and carried out a slope blur on it using a blurred version of the same noise. This gave me a soft, fleshy output which later blended with the base shape.

Once the base shape was clear, I used a Perlin Noise to add some warp profiling to it, and warped the base shape directionally to give it a crumpled effect. Later, to add some height variations I carried out a Non-Uniform Blur on the warped shape separately. Then, to add slight micro-detail, I just added another Directional Noise which was warped at the same height profile, and blended it on top of the petal.

Then I masked the faded inward edges of the petal using a Histogram Select node, and blended them on top of the main shape to add slight curls. To fix the sharp edges, I masked the petal and inverted it, carried out a soft blur, and subtracted it from the main petal shape; this had the effect of softening the edges. Finally, I blended a blurred out Crystal noise with the main height of the generator, to create a soft and bumpy effect.

Petals Atlas

Once I’d made this generator, I created a different graph for the Petals texture atlas with the random selection of different petal variations and a couple of Transformation 2D nodes.

For the albedo, I applied the same curvature smooth workflow, using masks to blend colors and gradients, and inverted curvature maps for roughness and for the ambient occlusion, which I calculated using height. I later used the height map to mask out opacity for the texture atlas using a Histogram Scan node.

Then, I brought the texture into 3ds Max and, using the Petals texture atlas, I designed a simple Marigold flower to decorate the shot.

Here’s an image showing the render/wireframe of the petals and flower separately:

Scattered Petals

Another big texture concept was scattered marigold petals over the floor. For this, I started by using a petal generator with 18 variations of the petals which were plugged into my very own Multi-Shape Sampler node, which works on a grid system. This node can have a maximum of 24 height inputs, and most of the features are interconnected in terms of size, scale, tiling, randomizing parameters, and so on.

Later I randomized and scattered all the height data and created a diverse petal scatter height map out of it, then I used a Curvature Smooth node to color out the scattered petals and added a few more gradients/colors to pop out details on them.

Saree material

The Ethnic Bridal Saree was an extremely important material to plan. It had to convey class, tradition, and elegance. I needed to plan patterns with a diversity of ornaments that reflected these three things. To help with this, I created a trim sheet, which contributed significantly to the saree’s ethnic appearance.

In order to save time, I worked smartly, first creating each individual height for the ornament shape, then tiled each one with a Tile Sampler and a Trim Generator node I created; this created a trim sheet incredibly fast.

I used gradients from previous materials and made them even more subtle with mild coloring. I derived metallic and roughness data from Curvature Smooth nodes by selecting frequencies using the Histogram Select node and multiple blends.

Flat Stone material

The final material for the showcase was a flat stone. As time was limited, I didn’t want to spend very long on details, so I built the height for the stones by using a Tile Random node with basic edge worn and surface sculpts; for this I used very generic noises such as a blend of Clouds 2 and 3, and Perlin Noise.

I applied a very firm noise detail on top of it using BnW Spots 2 and Moisture Noise nodes. Then I splattered twigs and leaves on top of this. After that, I flattened the details and lowered the intensity of the height and normal, which created the flat stones effect in the final render.

It was important for me to keep the color values subtle, and the color a mild, dull brown, so that the contrasting colorful petals would pop against the brown background.


This contest created a very personal challenge for me. I took on the formidable task of trying to carry out this entire project in a single day, and I managed to surprise myself – by dedicating myself completely, I was able to conclude the sneaker, from the planning right through to finish, in that very short time frame. I remained super-focused, tackled all the constraints calmly, and managed my time effectively to get everything done, so that I could submit my entry right before the final deadline of the contest. Really, I suppose I learned that if an opportunity comes up, you should take it, and do your best – it’s possible to accomplish something great in just one day.

A big thanks to my parents who keep supporting me and cheering me on, and who trust my dedication towards my love for art!

Meet Ishan Verma

Ishan Verma joined Ubisoft Mumbai in 2018. He is currently an Intermediate Material Artist specializing in realistic textures and material creation for AAA titles.

Read more