In the year following its release in November 2016, Substance Source has grown with additional materials every month, but also with new artists to our Substance Source team. We’ve increased the frequency of the drops and maintain high standards of quality when it comes to creation of production-ready PBR materials.
Today we will take you through our scan production pipeline, all the way from capture to the post-processing of scans with Substance Designer. Follow us step-by-step through the challenges we faced and the solutions we built to overcome them.
As you can imagine, we need powerful computers to create and process all these PBR materials. Substance Designer is our main tool, and we use it with full NVIDIA GPU support.
We’ll show you our custom photogrammetry pipeline in Substance Designer 2017: how we processed 100 scanned materials in less than two weeks for a Substance Source drop, as well as how we increased our production speed with the new NVIDIA Quadro P6000 24Gb.
Photogrammetry and Maps
We travel and capture grounds, walls and all sort of interesting surfaces with ultra HD cameras. The process is fairly simple. You need to find a place with a flat surface without too much variations in terms of object, colors and height.
At first, I remove elements that are too visible or that will move during the acquisition.
Then you put a measuring tape and a color checker in order to get a physical size and a good white balance.
Put your camera on a pole or a tripod, depend of the time you need and if the weather is with you. I mean sometimes, moving clouds will cast shadows on you surface and if there is wind, some leaves could move and destroy your scan.
Then check the overlap you need between each of your picture depending of your focal lens. That will give you the steps you need to do to cover all the surface.
At the middle of your acquisition quickly check your picture (white balance/ focus/ motion blur) to be sure you are good to continue.
Scan acquisition setup for Pine forest floor material
Back at the office, we process all the photographs using photogrammetry software. This step generates a highpoly point cloud model and an 8K color/height map.
Processing Scan Maps in Substance Designer 2017
The challenge for this process was loading 8K maps in Substance Designer and keeping the entire workflow at this maximum resolution which very hardware demanding, especially for the VRAM aspect. Our partner Nvidia was kind enough to provide us with the new Quadro P6000 24Gb from NVIDIA. Result? Substance Designer’s speed increased by a factor of three compared to our previous setup, with good stability!
To enable the 8K workflow in Substance Designer, you need to set the “Cooking size limit” to 8192 pixels in the Preference/General menu. If you have a powerful GPU, you can also increase the “Engine GPU cache limit” to the maximum value: 16384 megabytes.
Here is a simple diagram of our template for scan processing:
Color Delight Filter (Custom Node, WIP):
When we capture outdoor surfaces, even on cloudy days, the light creates ambient occlusion and drop shadows in the color map.
We want to get rid of them so that the color map describes only the natural color of the surface. With this custom filter, we connect the raw Color and Height maps. Controlled by a threshold, the filter gets rid of the ambient occlusion automatically.
The second feature of this filter gets rid of the drop shadows. To have a better visualization of the correction, we can activate a “Visualization Mode”: the correction appears in color (orange in the example below).
Height Correction (Custom Node, WIP):
To create a continuity between the tiles, we need to normalize and clamp the height map. Controlled by two thresholds, the filter will compensate all the cavities and volumes to create a flat surface with some variations
Smart Auto Tile:
Now that the maps are delighted and corrected, it’s time to make them tile! The first thing to set is the crop area in the 2D viewport.
The objective is to find the biggest tileable area: the bigger the tile area, the better the texture, as this will help us avoid loss of too much surface information. We play with the “Threshold” and “Blur” to finalize the tiling.
Finally, we bake maps using “Curvature”, “Normal” and “Color Match” nodes. We set “Levels” on the Basecolor, Normal and Roughness.
With the help of the 3D viewport and Iray, we can be really precise with these final tweaks. We also process the Basecolor map with several “Color Match” nodes to create the “Color Mask” output.
At the end of the drop production, we quickly create high resolution renderings of materials for the blogpost just before the release. To iterate quickly and produce nice quality renders we used Iray in Substance Designer. It’s amazing to have an Iray window that refreshes 500 samples in less than 20 seconds with the Quadro P6000.
“It’s amazing to have an Iray window that refreshes 500 samples in less than 20 seconds.”
Conclusion: We’ve just shown you a simple way to process photogrammetry data into amazing tileable textures with Substance Designer – and now you also know how the stability and speed of Substance Designer increases with powerful GPUs.