- Substance 3D home
- User guide
- Glossary
- Getting started
- Interface
- Interface
- Customizing your workspace
- Home screen
- Main toolbar
- Preferences
- Explorer
- Graph view
- Library
- Properties
- 2D view
- 3D view
- Dependency manager
- Resources
- Resources
- Importing, linking and new resources
- Bitmap resource
- Vector graphics (SVG) resource
- 3D scene resource
- AxF (Appearance eXchange Format)
- Font resource
- Warnings from dependencies
- Substance graphs
- Substance graphs
- Substance graph key concepts
- Creating a Substance graph
- Exposing a parameter
- Graph parameters
- Inheritance in Substance graphs
- Output size
- Values in Substance graphs
- Publishing Substance 3D asset files (SBSAR)
- Exporting bitmaps
- Exporting PSD files
- Sample Substance graphs
- Warnings in Substance graphs
- Nodes reference for Substance graphs
- Nodes reference for Substance graphs
- Atomic nodes
- Node library
- Node library
- Texture generators
- Texture generators
- Noises
- Noises
- 3D Perlin noise
- 3D Perlin noise fractal
- 3D Ridged noise fractal
- 3D Simplex noise
- 3D Voronoi
- 3D Voronoi fractal
- 3D Worley noise
- Anisotropic noise
- Blue noise fast
- BnW spots 1
- BnW spots 2
- BnW spots 3
- Cells 1
- Cells 2
- Cells 3
- Cells 4
- Clouds 1
- Clouds 2
- Clouds 3
- Creased
- Crystal 1
- Crystal 2
- Directional noise 1
- Directional noise 2
- Directional noise 3
- Directional noise 4
- Directional scratches
- Dirt 1
- Dirt 2
- Dirt 3
- Dirt 4
- Dirt 5
- Dirt gradient
- Fluid
- Fractal sum 1
- Fractal sum 2
- Fractal sum 3
- Fractal sum 4
- Fractal sum base
- Fur 1
- Fur 2
- Fur 3
- Gaussian noise
- Gaussian spots 1
- Gaussian spots 2
- Grunge concrete
- Grunge Damas
- Grunge galvanic large
- Grunge galvanic small
- Grunge leaks
- Grunge leaky paint
- Grunge map 001
- Grunge map 002
- Grunge map 003
- Grunge map 004
- Grunge map 005
- Grunge map 006
- Grunge map 007
- Grunge map 008
- Grunge map 009
- Grunge map 010
- Grunge map 011
- Grunge map 012
- Grunge map 013
- Grunge map 014
- Grunge map 015
- Grunge rough dirty
- Grunge rust fine
- Grunge scratches dirty
- Grunge scratches fine
- Grunge scratches rough
- Grunge shavings
- Grunge splashes dusty
- Grunge spots
- Grunge spots dirty
- Liquid
- Messy fibers 1
- Messy fibers 2
- Messy fibers 3
- Microscope view
- Moisture noise
- Perlin noise
- Plasma
- Caustics
- Voronoi
- Voronoi fractal
- Waveform 1
- White noise
- White noise fast
- Patterns
- Patterns
- 3D linear gradient
- 3D volume mask
- Alveolus
- Arc pavement
- Brick 1
- Brick 2
- Brick generator
- Checker 1
- Cube 3D
- Cube 3D GBuffers
- Fibers 1
- Fibers 2
- Gaussian 1
- Gaussian 2
- Gradient axial
- Gradient axial reflected
- Gradient circular
- Gradient linear 1
- Gradient linear 2
- Gradient linear 3
- Gradient radial
- Height extrude
- Mesh 1
- Mesh 2
- Panorama shape
- Polygon 1
- Polygon 2
- Scratches generator
- Shape
- Shape extrude
- Shape mapper
- Shape splatter
- Shape splatter blend
- Shape splatter data extract
- Shape splatter to mask
- Splatter
- Splatter circular
- Star
- Starburst
- Stripes
- Tile generator
- Tile random
- Tile random 2
- Tile sampler
- Triangle grid
- Weave 1
- Weave 2
- Weave generator
- Filters
- Filters
- Adjustments
- Adjustments
- Apply color palette
- Auto levels
- Channel mixer
- Chrominance extract
- Clamp
- Color match
- Color to mask
- Contrast/Luminosity
- Convert to linear
- Convert to sRGB
- Create color palette (16)
- Grayscale conversion advanced
- Hald CLUT
- HDR range viewer
- Height map frequencies mapper
- Highpass
- Histogram compute
- Histogram equalize
- Histogram range
- Histogram render
- Histogram scan
- Non-uniform histogram scan
- Histogram select
- Histogram shift
- ID to mask grayscale
- Invert
- Lighting cancel high frequencies
- Lighting cancel low frequencies
- Luminance highpass
- Min max
- Modify color palette
- Pow
- Quantize color (Simple)
- Quantize color
- Quantize grayscale
- Replace color
- Replace color range
- Threshold
- View color palette
- Blending
- Blurs
- Channels
- Effects
- Effects
- 3D texture position
- 3D texture SDF
- 3D texture surface render
- 3D texture volume render
- Ambient occlusion (HBAO)
- Ambient occlusion (RTAO)
- Anisotropic Kuwahara color
- Anisotropic Kuwahara grayscale
- Bevel
- Bevel smooth
- Cross section
- Curvature
- Curvature smooth
- Curvature sobel
- Diffusion color
- Diffusion grayscale
- Diffusion UV
- Directional distance
- Edge detect
- Emboss with gloss
- Extend shape
- Flood fill
- Flood fill mapper
- Flood fill to Bbox size
- Flood Fill to gradient
- Flood Fill to grayscale/color
- Flood Fill to index
- Flood Fill to position
- Flood Fill to random color
- Flood Fill to random grayscale
- FXAA
- Glow
- Mosaic
- Multi directional warp
- Non-uniform directional warp
- Reaction diffusion fast
- RT irradiance
- RT shadow
- Shadows
- Shape drop shadow
- Shape glow
- Shape stroke
- Summed area table
- Swirl
- Uber emboss
- Vector morph
- Vector warp
- Normal map
- Tiling
- Transforms
- Material filters
- Material filters
- 1-click
- Effects (Material)
- Transforms (Material)
- Blending (Material)
- PBR utilities
- Scan processing
- Mesh-based generators
- Mesh-based generators
- Mask generators
- Weathering
- Utilities (Mesh-based generators)
- Spline & Path tools
- Spline & Path tools
- Working with Path & Spline tools
- Path tools
- Spline tools
- Spline tools
- Paths to Spline
- Point list
- Scatter on Spline color
- Scatter on Spline grayscale
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly quadratic)
- Spline append
- Spline bridge (2 Splines)
- Spline bridge (List)
- Spline bridge mapper color
- Spline bridge mapper grayscale
- Spline circle
- Spline fill
- Spline flow mapper
- Spline mapper color
- Spline mapper grayscale
- Spline merge list
- Spline render
- Spline sample height
- Spline sample thickness
- Spline select
- Spline warp
- UV mapper color
- UV mapper grayscale
- 3D view (Library)
- 3D view (Library)
- HDRI tools
- Node library
- Substance function graphs
- Substance function graphs
- What is a Substance function graph?
- Create and edit a Substance function graph
- The Substance function graph
- Variables
- FX-maps
- FX-Maps
- How it works
- The Iterate node
- The Quadrant node
- Using Substance function graphs in FX-Maps
- Warnings in Substance function graphs
- Sample Substance function graphs
- Nodes reference for Substance function graphs
- MDL graphs
- Bakers
- Best practices
- Pipeline and project configuration
- Color management
- Package metadata
- Scripting
- Scripting
- Plugin basics
- Plugin search paths
- Plugins packages
- Plugin manager
- Python editor
- Accessing graphs and selections
- Nodes and properties
- Undo and redo
- Application callbacks
- Creating user interface elements
- Adding actions to the Explorer toolbar
- Using color management
- Using spot colors
- Logging
- Using threads
- Debugging plugins using Visual Studio Code
- Porting previous plugins
- Packaging plugins
- Scripting API reference
- Technical issues
- Release notes
Project settings
This page presents the Projects settings in Substance 3D Designer, and the settings contained within.
Substance 3D Designer allows you to create preferences per project, and share them across workstations. These preferences can be found in the Projects tab of the Preferences window.
This is very helpful if you want to set up a common working environment for a team working on the same project, by using the same Project File on all systems.
In this page
Configuration file
This allows you to set the path of the Configuration File for Substance 3D Designer. A configuration file uses the *.sbscfg extension, and contains a list of project files along with a set Compatibility Display setting.
Default: default_configuration.sbscfg
You can use the --config-file command line option to launch Designer with a specific config file.
For more information about Configuration Files, you can refer to the Configuration List - SBSCFG page of the documentation.
Project files
A project file contains a number of settings which define key aspects of the working environment in Designer, arranged into tabs. These settings are listed in the Project chapter of this page. Project files use the *.sbsprj extension.
You can import multiple project files to be used for your working environment in Designer. When multiple project files exist, settings which are lists (e.g. library watched paths, aliases, etc.) are combined, and settings which are unique set values are defined by the last project file of the list.
Default: default_project.sbsprj (read only), user_project.sbsprj
Compatibility display
Some of the nodes created with a recent version of Designer are not compatible with older versions of the Substance Engine.
Compatibility Mode will highlight the nodes which are not compatible with the selected Substance Engine, with a yellow outline.
Default: Substance Engine v7
Default shader |
This setting lets you select the shader which should be used by default when starting a new 3D View. Default: physically_metallic_roughness.glslfx |
Default environment map |
This setting lets you select the texture which should be applied by default to the Environment when starting a new 3D View. Default: panorama_map.hdr |
Default state file |
The 3D View Scene State file includes a number of settings for the 3D View, such as camera position, environment exposure and mesh. It is used to store the state of the 3D View so you can quickly load a scene which is tailored to your needs. Scene State files use the *.sbsscn extension. This setting lets you select the 3D View Scene State file which should be used when starting a new 3D View.
Alert:
Some software updates can change the way scene states are saved/loaded. Default: Empty (in this case, a preset scene state is used) |
Default lighting state |
This setting lets you select which of the predefined available lights should be enabled when starting a new 3D View, if no file is set in the Default State File field. Default: Ambient Light only |
Aliases
Aliases are used to shorten system paths and allow teams to share assets more efficiently. Aliases are used throughout the software as well as in SBS files.
This settings allows you to add and edit aliases. When an alias is applied, it replaces the mapped path using the following syntax: ://.
Example: if a resource myResource in the folder myFolder is placed at the location C:/Users/user/Documents, then mapping this location to myalias will result in the myalias://myFolder/myResource path being used in the application and the SBS package the resource belongs to.
Default: sbs; sd-3dview-shapes; sd-3dview-maps; sd-3dview-shaders (Default project)
Aliases are global to the application. This means they will be applied to all paths used in the application, as well as all paths in loaded SBSPRJ Project Settings files. Keep that in mind when setting up your project environment!
Also, we recommend not nesting aliases – i.e. aliasing a path which is also included in another alias.
Default resource name |
This setting lets you set a default naming template which will be used for the output image files. The aliases available in the baking window can also be used here (i.e. $(mesh), $(bakername), $(udim), $(custom)). Default: $(mesh)_$(bakername) |
Default preset |
When opening the the baking window, you can have it already configured with specific bakers and settings by using this option to point to a presets JSON file. This file can be exported from the baking window once it has been set up according to your needs. Default: None |
Resource name macros |
Instead of the $(bakername) alias, you can use your own character strings for each baker. Example: The 'c-mesh' value assigned to the 'Curvature Map From Mesh' baker will automatically rename t_mymesh_$(custom) into t_mymesh_c-mesh for the output of the Curvature From Mesh baker only. Default: None |
Sub-meshes name filter |
When using the Match By Name option in the bakers, the parts of the low and high definition versions of a mesh are matched if the name of those parts before the defined suffixes is identical. This setting lets you set your own suffixes to suit your specific workflow. Example: the body-torso_low object in the body.fbx mesh would be matched to the body-torso_high object in body_high.fbx, if these objects exist in these meshes. Default: _low (Low Poly Mesh) / _high (High Poly Mesh) Similarly, backfaces can be selectively ignored for the parts of a mesh which name include the defined suffix, for specific bakers which include the Ignore Backface option. Default: _ignorebf
Note:
The Ignore Backface and Low/High Poly Mesh suffixes can be combined in any order (e.g. body-torso_low_ignorebf)
|
COLOR MANAGEMENT
Please refer to the Color Management page.
Substance templates |
When creating a new graph, you are prompted to start working off of a template which can have a number of settings and content pre-configured, such as outputs (e.g. PBR (Metallic/Roughness)). This setting lets you point Designer to directories where you can store your own SBS files to use as templates. Your custom templates will then be added to the list when creating a new graph. Default: None
Note:
We recommend using the current templates as a reference for configuring and formatting your template SBS files.
The templates can be found in the resources > templates folder in the Substance 3D Designer installation directory. |
3D scenes |
By default, Designer uses the MikkT tangent space in the 3D View. MikkT is widely used and is the default in programs such as Unity, Unreal Engine 4, Blender and xNormal. You can use your own tangent space for the 3D View, which you provide to Designer in the form of a DLL file input in this setting. Default: mikktspace.dll Always recompute tangent frames. Default: Unchecked Normal and Tangent Smoothing Angle. Default: 180.0° |
Misc |
Normal maps can be generated or processed using either the DirectX or OpenGL format. This setting sets the value for this format in several places, such as material properties in the 3D View and the Normal filter node parameters. Default: DirectX
Regarding the Normal filter node, you can set the default value for the Alpha Channel Content parameter. You can either choose to force the alpha to 1 in all cases, or fill it with information from its input. Default: Force Alpha to 1 |
Image formats |
This lets you specify the default format settings for exported images. Default: Default (BMP) / Piz-based wavelet, unchecked, unchecked (EXR) / Unchecked, unchecked, 75 (JPG) / Best Speed, unchecked (PNG) / Default (TGA) / LZW (TIF) / Unchecked, 75 (WEBP) |
Dependencies paths |
SBS packages generally have dependencies, i.e. reliance on external resources such as other SBS packages, bitmaps or vector files. These dependencies, which are listed in the Dependency Manager, are stored and referenced in the SBS package with a path which points to these resources. For dependencies which include the same path as the SBS package (i.e. they are located in the same locations or sub-folder(s) from that location), the reference path is written relative to the SBS package location. Example: for a SBS package myproject/mypackage.sbs, an image myproject/myfolder/myimage.png will be referenced to the myfolder/myimage.png path in mypackage.sbs). For dependencies which do not include the same path as the SBS package (i.e. they are located in a different location altogether from the SBS package), you can choose how the path is written. If it is set to relative paths, the resource will be referenced in the same way as described above. Example: for a SBS package myparentfolder/ myproject/mypackage.sbs, an image myparentfolder/myotherfolder/myimage.png will be referenced to the ../myotherfolder/myimage.png path in mypackage.sbs. If it is set to absolute paths, the resource will be referenced by its full system path (i.e. its filename). Example: for a SBS package myparentfolder/mymyproject/mypackage.sbs, an image myparentfolder/myotherfolder/myimage.png will be referenced to this same full path in mypackage.sbs. Default: ...relative paths.
Note:
In all cases, moving the resources will break dependencies , which will result in Ghost Instance nodes in graphs.
To consolidate all dependencies in a single project folder along with the SBS package, you can use the Export with dependencies... features in the Explorer panel. This effectively creates an autonomous project folder which can be moved freely. |
Library
This section lets you manage the custom content of the Library.
The content of all folders listed in the Paths added list will be included in the Library. Any change to the content are reflected in the Library, following a refresh period which can be set in the Library tab of the Preferences window.
In the columns of the list, you can find options giving you more granular control over the way the content of these folders are added to the Library:
- Enabled; the content of the folder is shown in the Library (Default: Checked)
- Recursive: the content of all children folders is also shown in the Library (Default: Checked)
- Exclude pattern: the content which entire filename matches the input Regex (regular expression) is not shown in the Library (e.g. */excluded_directory/*) . Learn more about the regular expression syntax here (Default: None)
- Exclude extension: the content which file extension include the input text string is not shown in the Library. Multiple strings should be separated by semi-colons (e.g. jpg;png;tif;fbx). (Default: None)
If SBS packages are added to the Library, the graphs and resources it contains can be shown in the Library as separate entries, if their Visible In Library parameter is set to 'Yes'.
Options are available to define if this parameter should be set to 'Yes' by default when creating/adding a new graph or resource in a package.
Default: Checked
If a Photoshop document (*.PSD file) included in the Library has multiple layers, an option lets you display the content of each layer as a separate image entry in the Library.
Default: Checked
See the Managing custom content and filters section of the documentation for more information.
MDL
If you want to add your own MDL modules to the mdl section of the Library, you can add folders which include the modules in this list.
Note that if modules are stored in subfolders, they will added as well and the folder hierarchy will be mirrored in the Library.
Example: If the folder mymdlfolder is added to this list, two MDL modules mymdlfolder/mymodule.mdl and mymdlfolder/mysubfolder/myothermodule.mdl would be added in the Library as the mdl/mymodule and mdl/mysubfolder/myothermodule entries.
Default: None
Python
Substance 3D Designer will automatically load all plugins located in the folders you add to the Url list.
Default: None
Plugin packages still need to be installed manually using the Plugin Manager.
This feature will be retired in a future release in favor of the more robust Python API. Therefore, we recommend making the switch in your scripts as soon as possible.
You may go to the Application callbacks page in the Scripting section of our documentation to get started.
This section lets you set up and control scripts to be executed when specific events happen in Designer. It is particularly useful when used in conjunction with the Perforce integration which can be configured in the Version Control tab of the Project Settings.
Actions |
Designer has pre-configured callbacks triggers, which will execute the script you provide using the interpreter set up in the Interpreters list described below. The included callbacks are the following:
A Python script is included in the installation files, with the functions triggered by each callback already set up and ready to use. You can use it as a starting point and add functionality according to your needs. This script is functions.py, located in the tools > scripting folder of the installation files. Default: None
Note:
Initially, selecting a script for any of the callbacks will input that script in all callbacks for convenience. You can freely set up different scripts for specific callbacks after that point.
|
Interpreters |
In this list, you can provide specific interpreters Designer should use to execute the scripts set up in the Actions list described above. Interpreters are identified using a custom alias you can edit in the text field of each entry of the list. A Python 3.6 interpreter is bundled with the installation files of Designer. You can find it in the plugins > pythonsdk folder of the installation files. Default: None |
Perforce is the only tool which is currently supported for version control.
Please refer to the Version control page.
How should you use this?
You should set all preferences that are project-specific in a Project File (*.sbsprj) in Designer. These preferences include:
All the paths are stored relative to the Project File (.spsprj). so you can have a library folder at the same location as your Project File in Perforce, with the following sub-folder tree :
- maps/
- meshes/
- sbs/
- sbsar/
- psd/
- 3Dview/
- ...
On the same level as the Project File, you may also store a tangent space plugin or default shader.
The Configuration File (*.sbscfg) should be placed in the Perforce workspace alongside the Project File.