- Substance 3D home
- Home
- Getting Started
- Getting Started overview
- Activation and licenses
- System requirements
- Project creation
- Export
- Export overview
- Export window
- Export presets
- Export overview
- Glossary
- Performance
- Getting Started overview
- Interface
- Assets
- Substance 3D Assets
- Color picker
- Display settings
- History
- Layer stack
- Main menu
- Project configuration
- Properties
- Settings
- Shader settings
- Texture Set
- Toolbars
- Viewport
- Miscellaneous
- Assets
- Painting
- Painting overview
- Tool list
- Straight line
- Lazy mouse
- Symmetry
- Fill projections
- Presets
- Presets overview
- Creating and saving presets
- Creating particles presets
- Photoshop brush presets (ABR)
- Dynamic strokes
- Advanced channel painting
- Vector graphic (.svg & .ai)
- Text resource
- Effects
- Baking
- Content
- Creating custom effects
- Importing assets
- Creating custom effects
- Features
- Automatic UV Unwrapping
- Physical size
- Smart Materials and Masks
- Subsurface Scattering
- Dynamic Material Layering
- UV Reprojection
- UV Tiles
- Color Management
- Post Processing
- Iray Renderer
- Plugins
- Sparse Virtual Textures
- Custom Shaders
- SpaceMouse® by 3Dconnexion
- Universal Scene Description (USD)
- Send to
- Technical Support
- Performance Guidelines
- Configuring Pens and Tablets
- Exporting the log file
- Exporting a DXDiag
- Technical issues
- GPU Issues
- Crash when working with overclocked GPU
- Forcing the external GPU on Mac OS
- GPU drivers compatibility
- GPU drivers crash with long computations (TDR crash)
- GPU has outdated drivers
- GPU is not recognized
- GPU is not recognized and is mentionned as GDI Generic
- Issues with Nvidia GPUs on recent Mac OS versions
- Multi/Bi-GPU
- Running on integrated GPU
- Painter doesn't start on the right GPU
- Startup Issues
- Rendering Issues
- Stability Issues
- Miscellaneous Issues
- GPU Issues
- Workflow Issues
- Export Issues
- Tools Issues
- Project Issues
- Library Issues
- Viewport Issues
- Plugins Issues
- License Issues
- Pipeline and integration
- Installation and preferences
- Configuration
- Resource management
- Scripting and development
- Scripts and plugins
- Shader API Reference
- Shader API overview
- Changelog - Shader API
- Libraries - Shader API
- Lib Alpha - Shader API
- Lib Bayer - Shader API
- Lib Defines - Shader API
- Lib Emissive - Shader API
- Lib Env - Shader API
- Lib Normal - Shader API
- Lib PBR - Shader API
- Lib PBR Aniso - Shader API
- Lib Pom - Shader API
- Lib Random - Shader API
- Lib Sampler - Shader API
- Lib Sparse - Shader API
- Lib SSS - Shader API
- Lib Utils - Shader API
- Lib Vectors - Shader API
- Parameters - Shader API
- Shaders - Shader API
- Release notes
- Release notes overview
- All Changes
- Version 10.1
- Version 10.0
- Version 9.1
- Old versions
- Version 9.0
- Version 8.3
- Version 8.2
- Version 8.1
- Version 7.4
- Version 7.3
- Version 7.2
- Version 2021.1 (7.1.0)
- Version 2020.2 (6.2.0)
- Version 2020.1 (6.1.0)
- Version 2019.3
- Version 2019.2
- Version 2019.1
- Version 2018.3
- Version 2018.2
- Version 2018.1
- Version 2017.4
- Version 2017.3
- Version 2017.2
- Version 2017.1
- Version 2.6
- Version 2.5
- Version 2.4
- Version 2.3
- Version 2.2
Channel specific filter
An effect can be specific to a particular channel. In that case, if you want to affect a specific channel, you need to create an input AND an output which identifies this channel. As a general rule, the input / output structure should always respect a 1:1 rule. If you want to input a specific channel, you have to output the same channel.
Example of a filter affecting the basecolor channel only :
It is not possible to combine generic setup (input/output nodes) and specific channels (basecolor/basecolor).
Alpha component management
Channels stored as RGBA support alpha (basecolor for instance). For these channel, the alpha Input/Output can be stored directly in the Substance color output. However, the Substance engine does not support Alpha for grayscale images: it has to be managed using a secondary map. To get the alpha component of a specific channel in a substance graph, create a grayscale input named 'channelname_Alpha', example: basecolor_Alpha, roughness_Alpha and so on.
To output this alpha component, create an output node with the same name convention.
The specific "_Alpha" output per channel doesn't work with regular materials. To hide a channel with a mask, a specific output must be created with the following naming convention :
- Identifier : channels_Alpha
- Usage : channels_Alpha
List of input/output usages and identifiers
It is possible to use either the usage or the identifier in an input node (the usage has the priority).
Channel name | Usage | Identifier / Identifier Alpha |
---|---|---|
Ambient Occlusion | ambientOcclusion | ambientOcclusion / ambientOcclusion_Alpha |
Anisotropy Angle | anisotropyangle | anisotropyAngle / anisotropyAngle_Alpha |
Anisotropy Level | anisotropylevel | anisotropyLevel / anisotropyLevel_Alpha |
Base Color | basecolor | baseColor / baseColor_Alpha |
Blending Mask | blendingmask | blendingmask / blendingmask_Alpha |
Diffuse | diffuse | diffuse / diffuse_Alpha |
Displacement | displacement | displacement / displacement_Alpha |
Emissive | emissive | emissive / emissive_Alpha |
Glossiness | glossiness | glossiness / glossiness_Alpha |
Height | height | height / height_Alpha |
IOR | ior | ior / ior_Alpha |
Metallic | metallic | metallic / metallic_Alpha |
Normal | normal | normal / normal_Alpha |
Opacity | opacity | opacity / opacity_Alpha |
Reflection | reflection | reflection / reflection_Alpha |
Roughness | roughness | roughness / roughness_Alpha |
Scattering | scattering | scattering / scattering_Alpha |
Specular | specular | specular / specular_Alpha |
Specular Level | specularlevel | specularLevel / specularLevel_Alpha |
Transmissive | transmissive | transmissive / transmissive_Alpha |
User 0 | user0 | user0 / user0_Alpha |
User 1 | user1 | user1 / user1_Alpha |
User 2 | user2 | user2 / user2_Alpha |
User 3 | user3 | user3 / user3_Alpha |
User 4 | user4 | user4 / user4_Alpha |
User 5 | user5 | user5 / user5_Alpha |
User 6 | user6 | user6 / user6_Alpha |
User 7 | user7 | user7 / user7_Alpha |
Examples
In this example the Base Color alpha channel is extracted via a grayscale node to overwrite the Roughness channel.
In this example the Roughness channel is multiplied over the Base Color.