Viz Plug-ins User Guide
Version 5.1 | Published December 12, 2023 ©
Substance
The Substance Shader plug-in renders Allegorithmic PBR (Physically Based Rendering) substances in Viz Engine. The plug-in takes into account the position, color and enabled/disabled state of the first eight Lights in the Scene. It also supports materials with alpha properties.
Note: This plug-in is located in: Plugins -> Shader -> Texture
Substance Properties
Note: The Substance properties panel parameters are different for each selected Substance.
The following options are available in the Basic Tab of the Substance Shader. The substance settings depend on the settings the creator of the material has exposed:
-
Substance: Uses a PBR Substances item (.sbsar file). Drag to the drop zone.
-
Environment Map: Uses a latitude/longitude panorama environment map image. Drag to the drop zone.
-
Anisotropic Filtering: Sets the image quality. The default value is 4X.
-
Relief Amount: Sets the relief amount that the shader applies.
-
Tiling: Sets the tiling.
-
Emissive Intensity: Sets the intensity of the emissive properties (if the substance has any).
-
Ambient Intensity: Sets the ambient light taken into account by the shader.
-
sRGB Base Color: Converts the base color map to sRGB (default: on).
-
Texture Rotation: Sets the rotation of the texture on the geometry.
-
Texture Scaling X/Y: Sets the scaling of the texture on the geometry.
-
Texture Position X/Y: Sets the position of the texture on the geometry.
To Create a Substance Shader Effect
-
Create a new Container.
-
Add a Cube geometry.
-
Add the Substance Shader.
-
Drag a Substance to the Substance drop zone.
-
Drag a latitude/longitude panorama image to the Environment Map drop zone.
-
Use the Substance Shader properties to modify the result, if required.
-
Click Substance Settings to adjust the properties in the Substance properties panel.
Note: The import and use of Substances in Viz Artist requires a separate license. You obtain this license, as well as a license for the Allegorithmic Substance Designer and the Substance PBR database, from your local Vizrt representative.
Substances use two different file extensions, .sbs and .sbsar:
-
.sbs files are editable substance source files. Use Substance Designer with these files.
-
.sbsar files are performance optimized, published substances.
You can import .sbsar files into Viz Artist. They must be Physically Based Rendering (PBR) materials to work correctly in Viz Artist. Make sure you create the correct material type when creating Substance shaders in Substance Designer.
To create a .sbsar file, first create a Shader with Substance Designer, and then publish this shader for import to Viz Artist. To view and adjust the parameters of a shader, switch to the Substance Settings panel. The parameters in the settings panel are different for each loaded substance, depending on the type of shader. The only supported type of shader in Viz Artist is PBR Metallic/Roughness.
Tip: If you get the error message This is not a valid Substance when you apply the shader in Viz Artist, you need to make sure you have a PBR Metallic/Roughness material created in Substance Designer.
Substance Basic
Here you can adjust the basic settings of your Substance Shader.
-
Substance: Drag the desired Substance shader from the Viz database section to this drop-field.
-
Environment Map: Drag any RGB or HDR environment map that should be reflected on the surface to this drop-field. The strength is controlled by the Ambient Intensity and by the metallic setting exposed individually in a Substance shader.
-
Anisotropic Filtering: Increases the load on the GPU during shader calculation at higher settings. This is usually set between 0-4.
-
Relief Amount: You only need to adjust this setting for relief shaders.
-
Tiling: Lets you specify the number of tiles.
-
Emissive Intensity: Change this setting for a higher emission rate of your shader.
-
Ambient Intensity: Controls the blending when you have an Environment texture applied to your Substance shader.
-
sRGB Base Color: Uses the sRGB color space model when enabled.
-
Texture Rotation: Rotates the texture applied to your geometry. This rotation has a limitation in the rotation degree of freedom, If the limit is reached, you need to change the rotation in your Substance shader.
-
Texture Scaling X: Scales the applied texture/shader on the x axis.
-
Texture Scaling Y: Scales the applied texture/shader on the y axis.
-
Texture Position X: Changes the X position of the applied texture/shader on the x axis.
-
Texture Position Y: Changes the Y position of the applied texture/shader on the y axis.
Substance Settings
The settings of each Substance Shader are different, depending on the material itself. All Substance shaders have in common that they need to generate a texture from the procedural shader description created in Substance Designer. If you are creating texture based shaders, you need to ensure that your base texture has enough resolution. All other settings and sliders in the Substance shaders vary with each different shader, depending on which features are exposed in each individual shader. Some settings are exposed for almost any existing shader from the Substance PBR library. These include Hue Shift, Saturation, Luminosity, Contrast, Normal Format, Output Size and $randomseed. If you create your own shaders in Substance Designer, you must expose the modifiers manually from Substance Designer if they are to be editable in Viz Artist.
Tip: Check the Nvidia GPU meter to see performance used by the shaders.
How to Create Substance Shaders with Substance Designer
This section gives you a brief introduction on how to create a PBR Metallic/Roughness material in Substance Designer. Substance Designer allows you to create procedural materials as well as texture/scan based materials. Please see the Allegorithmic website and their Youtube channel for more detailed information on how to work with Substance Designer: https://www.allegorithmic.com/.
When you create a new Substance in Substance Designer, you need to select the Physically Based (Metallic/Roughness) Graph Template. Otherwise, this shader does not work properly in Viz Artist, causing the error message This is not a valid Substance. When saving a Substance shader/material, it is saved as an .sbs file. These files cannot be imported into Viz Artist. To import Substance shaders in Viz, you need to publish the material to an .sbsar file.
The shader graph of each material looks different. Here are a few examples for different shader graphs with PBR Metallic/Roughness materials, reaching from simple texture shader graphs to complex procedural shader graphs.
Simple Texture Shader
In the shader graph, you see the five Output channels for the PBR material: Base color, Normal, Roughness, Metallic, and Height. All outputs are generated automatically from a simple input texture.
Basic Procedural Shader
In the shader graph, you see the four Output channels for the PBR material: Base color, Normal, Roughness, and Metallic. All outputs are generated and mapped manually.
Complex Procedural Shader
Here you see a very complex procedural shader graph, constructed with different modifiers and functions, generating the necessary output for Base Color, Normal, Roughness, Metallic and Height.
Tip: Only PBR Metallic/Roughness materials from Substance Designer are supported in Viz Artist.
Publishing Shaders
When you want to import the Substance shaders in Viz Artist, you need to publish them from Substance Designer instead of saving them. The difference between publishing and saving is that the shader is performance optimized when published. Published shaders cannot be opened by Substance Designer, so it is important to keep your .sbs files and .sbsar files together in case you need to make changes to your shader later on.
To publish the shader, right click the shader/package and select Publish .sbsar file.
Tip: You can find documentation and training with Substance Designer on https://www.allegorithmic.com/ as well as on the Allegorithmic Youtube channel.
Substances Performance
Substance shaders are computed on your GPU. Vizrt recommends an Nvidia M-series graphics card or higher to work efficiently with Substances. Since Substances run exclusively on the GPU, you should check the Nvidia GPU meter when working with Substances inside Viz to have full overview of the rendering performance. There should be a section called Manage GPU Utilization in your Nvidia Control Panel. Check the performance of the Substance shaders here.