@Utsav singh, Yes. But a kind of lowpoly projection to have the best balance between poly count and alpha/quad overdraw.
Appreciate the shoutout!
your shader complexity is low because you used true polygon models instead of just a masked plane to prevent alpha overdraw?
Jamir Blanco shared a detailed breakdown of his amazing ice material, created with Substance Designer.
Hi! My name is Jamir Blanco, I’m 27, and I’m currently working as a Cinematic Environment Artist at Crystal Dynamics. I grew up in Fort Lauderdale Florida, and studied computer graphics at the Academy of Art in San Francisco. Since then, I’ve been fortunate enough to have contributed to a variety of projects such as Fantastic Beasts, Ghost in the Shell, and most recently – cinematics and AAA games.
Working with Substance Designer?
I learned about “substances” and Designer back in 2013, while I was in school. I’ve only truly began using it in my workflow as of recently though; maybe a year, year and a half. The biggest difference in approach is that Designer is procedural and node-based, which allows for a much more dynamic texturing process. Not to mention the viewport and real-time feedback you get is really great!
There was an early point where I really enjoyed using it as a baking tool, but I’d end up bringing the results to Photoshop to finish texturing. Designer began growing on me the more I’d stay in the package after baking, just trying out different procedurals and seeing what kind of results I could get. I quickly realized how powerful the package was, to the point that I no longer push so much detail into my sculpts, as I know Designer can easily take care of this for me.
Arctic ice project
This project is a result of a larger more complex real-time environment I am currently working on. Recently I’ve been studying arctic and polar photography. There is something very captivating about the terrain uniqueness and lighting that can occur under such circumstances; and I am trying to capture some of that awe.
The arctic ice shader itself is one of the many materials I have created for my upcoming Unreal project; it will serve as the surface for my ground. As for the process, it started in ZBrush. Sometimes I will jump right into Designer and begin making a fully procedural texture set. Other times I will model a good amount, particularly pertaining to the height and composition of shapes, while tackling the other aspects in Designer. If certain parts must feel like different materials or features, or for albedo colorization purposes, I make sure to give them a unique polygroup color in order to extract an ID map later and give the texture set proper treatment based on element.
The normal map
I would say, about 70-80% of the normal map is the result of sculpt information being baked down from ZBrush. While sculpting, I am mainly concerned with the primary and some secondary shapes. At this stage, I am trying to create a really good sense of depth and establish the overall elements that make up the material. Creating a sculpt that reads cleanly and easily, and defines the major elements in your texture – are the key to getting great looking bakes that will serve as a basis for Designer to work with down the line.
Once in Designer, I try to introduce new shapes that will compliment what is already there. Making sure the new secondary and tertiary shapes are evident and unique is a good way to expand the detail and versatility of patterns in the texture. I also keep keep in mind that I don’t want to create harsh and out of place shapes that are easy to point out when tiled. By looking at photography, I can get an idea of what additional shapes and patterns I can add without breaking the believability of the surface. It’s also important to make sure that tertiary detail is not uniform, and that there is break up and even size variations on the different surfaces and depths of your material.
This aspect was probably my favorite part to work on besides the sculpt. Going into it, I knew that I wanted to capture the hue changes and lighting phenomena that occurred when light refracted through the ice. I began blocking in the color using mainly the ambient occlusion to drive the major establishments of color. Connecting the ao into a gradient map, I’m able to change the values to whatever color I want. In this case, I wanted the deeper pockets and valleys to feel as if the ocean were beneath it. I used a greenish hue to imply this material is somewhat translucent, and that the color of the water underneath was coming through to the top. This also helps further sell the depth and variation of the material, since we are saying that the black levels are thin ice, and the white levels are thicker, more sturdy grounds.
There are several other components that play a key role in the way the color renders. For one, I am using the thickness map to further define these areas. Using a thickness map is a really great way to sell the effects of subsurface scattering on an object. I usually tone this to the color I want the effect to be, and dial it into the emissive slot to create some light scatter. Another tool I use is that I convert the base normal map into a Curvature Sobel, and extract the resulting white peaks to add over the albedo. This introduces a new value, usually the lightest in tone, and gives a nice pop of color to your map.
The roughness map introduces micro detail and interest points to the texture set, as well as helps distinguish the melting ice from the drier areas. Here I create new variations and patterns for more interesting results, as well as give the already determined areas their respective tone of roughness. I also wanted to suggest small areas where water has melted on top of the ice, so these are the most glossy. I don’t particularly follow any values here, just play it by eye and try to get some interesting results. I tried keeping the valleys and slopes appear more wet, as if the angles receives more direct light and water melted towards the bottom. Any type of information you can imply with roughness will really help the viewer understand just what kind of environment and material composition they are looking at.
All the components and the way I used them bared in mind the lighting scenario. I know this material will only be seen under specific circumstances, so I built it to look and reflect as good as possible under it’s natural lighting conditions. The metallic component also has a bit of information in it, that helps define how much light is absorbed or reflected. I gave the material a little bit of metallic value in order to help it reflect the environment a bit more. Sometimes I try and see what I can get away with using unorthodox methods. And if it feels nice, realistic, reflects in a convincing manner, and does the job you are attempting to realize visually, that’s all the really matters.
How long did it take to build this?
I created the material from scratch over the course of a day. I would say about a good 5 – 6 hours. For this material, I think the time was split evenly between the sculpting and baking process, and the texturing and look development process. I think the main challenge was trying to sell the depth I wanted to convey with the subtle implication of water under the surface and light scatter. It was definitely very fun and a great opportunity to just try and explore new and interesting results.