User Guide Cancel

Compound Filters | Substance 3D Sampler

  1. Substance 3D home
  2. Home
  3. Getting Started
    1. Getting Started overview
    2. Activation and licenses
    3. System requirements
    4. Shortcuts
    5. Importing Resources
    6. Report a bug
    7. Project Management
    8. Export
      1. Export overview
      2. Export Window
      3. Default Presets
        1. Default Presets overview
        2. Arnold 5
        3. Blender Cycles/Eevee
        4. Corona Renderer
        5. Enscape - Revit
        6. Keyshot9+
        7. Lens Studio
        8. Spark AR Studio
        9. Unity HDRP Standard
        10. Unity HDRP Specular
        11. Unity Standard
        12. Unity Specular
        13. Unreal Engine 4
        14. Redshift
        15. V-Ray Next
      4. Managing custom presets
      5. Managing Presets
  4. Interface
    1. Interface overview
    2. The Home Screen
    3. 2D and 3D Viewport
    4. Sidebars
    5. Panels
      1. Panels overview
      2. Project panel
      3. Assets panel
      4. Layers panel
      5. Properties panel
      6. Viewer Settings panel
      7. Shader Settings panel
      8. Channel Settings panel
      9. Metadata panel
      10. Export panel
      11. Physical Size Panel
      12. Exposed Parameters Panel
      13. Resources
    6. Tools and Widgets
      1. Tools and Widgets overview
      2. Sliders
      3. Color Picker
    7. Preferences
      1. Preferences overview
      2. Normal Format
      3. Layer Resolution
  5. Filters
    1. Filters overview
    2. Custom Filters
    3. Compound Filters
    4. Generators
      1. Generators overview
      2. Atlas Scatter
      3. Brickwall
      4. Cloth Weave
      5. Decal
      6. Embossing
      7. Embroidery
      8. Floor Tiles
      9. Gravel
      10. Panel
      11. Parquet
      12. Pattern
      13. Pavement
      14. Perforate
      15. Quilt Stitch
      16. Splatter
      17. Stonewall
      18. Surface Relief
      19. Weave
    5. Adjustments
      1. Adjustments overview
      2. Blur
      3. Brightness/Contrast
      4. Colorize
      5. Color Replace
      6. Color Variation
      7. Equalize
      8. Fill
      9. Hue/Saturation
      10. Invert
      11. Sharpen
      12. Vibrance
    6. Tools
      1. Tools overview
      2. Atlas Creator
      3. Atlas Splitter
      4. Channels Generation
      5. Channel Switch
      6. Clone Stamp
      7. Crop tool
      8. Delight (AI Powered)
      9. Height to AO
      10. Height to Normal
      11. Image To Material
      12. Make it Tile
      13. Match
      14. Multiangle To Material
      15. Normal to Height
      16. Paint Wrap *missing*
      17. PBR Validate
      18. Perspective Correction
      19. Tiling
      20. Transform
      21. Warp
      22. Warp Transform
      23. Upscale
    7. HDRI Tools
      1. HDRI Tools overview
      2. Color Temperature Adjustment
      3. Exposure
      4. Exposure Preview
      5. HDR Merge
      6. Line Light
      7. Nadir Extract
      8. Nadir Patch
      9. Panorama Patch
      10. Plane Light
      11. Shape Light
      12. Sphere Light
      13. Straighten Horizon
    8. Wear and Finish
      1. Wear and Finish overview
      2. Corrode
      3. Cracks
      4. Dirt
      5. Discarded Gums
      6. Dust
      7. Erode
      8. Metal Finish
      9. Moss
      10. Oxidate
      11. Paint
      12. Rust
      13. Scratch
      14. Snow
      15. Stylization
      16. Water
      17. Varnish
  6. Technical Support
    1. Technical Support overview
    2. Exporting the log file
    3. Configuration
      1. Configuration overview
      2. Retrieving the installation path
      3. Update Checker
      4. NVIDIA Driver Settings
      5. 3D Capture set-up on Linux  
    4. Technical Issues
      1. Technical Issues overview
    5. Data or project issues
      1. Data or project issues overview
      2. Import Substance Alchemist projects in Substance 3D Sampler
    6. Filter issues
      1. Filter issues overview
      2. Image to Material and Delighter are missing
      3. Image to Material visual artefacts
    7. Interface issues
      1. Interface issues overview
      2. Fonts are not displayed correctly
      3. Main interface is transparent
    8. Performance issues
      1. Performance issues overview
      2. Color picker takes long time to open the first time
      3. Interface lags when interacting with the layer stack or other elements
    9. Stability issues
      1. Stability issues overview
      2. Crash when exporting a material
      3. Crash when using the Image to Material or Delighter
    10. Startup issues
      1. Startup issues overview
      2. Application doesn't start on Linux
      3. Crash at start up - Old OBS version
  7. Features and workflows
    1. Features and workflows overview
    2. 3D Capture
    3. Export parametric assets
    4. End to end Physical Size Workflow
    5. Generative Workflow
    6. Texture Import
    7. Texture Generators
    8. Use As Bitmap
    9. Adobe Standard Material
  8. Pipeline and integrations
    1. Pipeline and integrations overview
    2. Environment variables
    3. Substance Send-to
    4. HP Z Captis support
      1. HP Z Captis support overview
      2. Your first capture, step by step
      3. System requirements to use the HP Z Captis device
      4. FAQ for HP Z support in Sampler
      5. Known issues and limitations
  9. Scripting and Development
    1. Scripting and Development overview
    2. Manage installed plugins and scripts
    3. Create a Plugin with Python and QML
    4. Create a Script with Python
      1. Create a Script with Python overview
      2. Example Scripts
  10. 3D Capture
    1. 3D Capture equipment
    2. Camera settings - Exposure
    3. Camera settings - Focus
    4. 3D Capture lighting
    5. Cross-polarizing for 3D Capture
    6. Processing advanced 3D Captures
    7. Editing 3D Captured meshes
  11. Release Notes
    1. Release Notes overview
    2. All Changes
    3. Beta
    4. Version 4.5
    5. Version 4.4
    6. Version 4.3
    7. Version 4.2
    8. Version 4.1
    9. Version 4.0
    10. Version 3.4
    11. Version 3.3
    12. Old Versions
      1. Version 3.2
      2. Version 3.1
      3. Version 3.0
      4. Version 2020.3 (2.3)
      5. Version 2020.2 (2.2)
      6. Version 2020.1 (2.1)
      7. Version 2019.1
      8. Version 0.8.1
      9. Version 0.8.0
      10. Version 0.7.0
      11. Version 0.6.1
      12. 0.6.0
      13. 0.5.4
      14. 0.5.3
      15. 0.5.2
      16. 0.5.1
      17. 0.5.0
  12. FAQ
    1. FAQ  Overview

Compound Filters

This feature lets you create a new type of filters that are represented as a single layer in the interface and be composed of multiples filters.

Note:

Supported since Substance 3D Sampler 3.1.0

Description

A compound filter is a .ssafilter file that is a .7zip compressed folder of:

  • a description file using JSON formatting: myfilter_name.json
  • a resources folder containing:
    • the filter thumbnail: icon.png
    • external file dependencies

Description file content

  • Name: Label of your compound filter displayed in the interface
  • Id: Unique identifier of your compound filter
  • Category: Category of your compound filter used in the Assets panel when you group your assets by category
  • Version: Incremental number to define the version of your compound filter.
  • Node: List of nodes to be used
  • Link: List of connections between the different nodes

Example

{ "SamplerFilter":  
 { 
 "Name": "My filter", 
 "Category": "My filter category", 
 "Id": "my_unique_id", 
 "Version": 2, 
 "Node": [ 
        { 
            "Id": "foo", 
            "InternalFilter": "Foo" 
        }, 
        { 
            "Id": "bar", 
            "File": "bar.sbsar" 
        } 
    ], 
    "Link": [ 
        { 
            "From": { "Node": "FilterInput", "Usage": "baseColor" }, 
            "To": { "Node": "foo", "Usage": "baseColor"} 
        }, 
        { 
            "From": { "Node": "FilterInput", "Usage": "normal" }, 
            "To": { "Node": "foo", "Usage": "normal"} 
        }, 
        { 
            "From": { "Node": "foo", "Usage": "baseColor" }, 
            "To": { "Node": "bar", "Usage": "baseColor"} 
        }, 
        { 
            "From": { "Node": "bar", "Usage": "baseColor" }, 
            "To": { "Node": "FilterOutput", "Usage": "baseColor"} 
        }, 
        { 
            "From": { "Node": "foo", "Usage": "normal" }, 
            "To": { "Node": "FilterOutput", "Usage": "normal"} 
        } 
    ] 
}}

Step-by-step creation

  1. Create a new file: my_new_filter.json
  2. Define its name, ID, category,...
  3. Define the list of nodes you need
  4. If you need external files, create resources folder next to your .json
  5. Add your file(s) in the resources folder
  6. Write the list of links between your nodes
  7. Verify that your JSON is valid (no typo, missing coma or missing bracket)
  8. If you want a thumbnail, add an image icon.png in the resources folder
  9. Select the .json file and the resources folder and 7zip them

Documentation

Version

Using a version number allows you to keep track of your different iterations. When opening a layer stack done with a previous version of your compound filter, a notification will be showed to suggest you to upgrade to the latest version.

Node

A node can refer to an internal filter of Substance 3D Sampler. Define a unique identifier Id to be used to define links between nodes and the label of the internal filter InternalFilter

        { 
            "Id": "step1_identifier", 
            "InternalFilter": "Dirt" 
        }

A node can refer to a SBSAR file that's not in Substance 3D Sampler. Define a unique identifier Id to be used to define links between nodes and the filename File of the SBSAR file. The SBSAR file has to be in a resources folder next to the .alchfilter file.

        { 
            "Id": "step1_identifier", 
            "File": "foo.sbsar" 
        }
Note:

filterImg and filterMat can't be used as node Id

A link is a description of how two nodes are linked and are composed of two elements:

  • From: Usage to be used by the node
  • To: Usage output of the node

Each element has 3 attributes:

  • Node: Declare the Id of the node you want to use
    • set the input of the compound filter, the node Id is FilterInput
    • set the output of your compound layer, the node Id is FilterOutput
  • Usage: Declare the usage you want to use. There are 3 options:
    • Single usage at a time and declare link by link (baseColor, normal, height, ambientOcclusion, roughness, metallic, diffuse, specular, glossiness, specularLevel, opacity, emissive, scan1, ...)
    • You can also specify a list ["baseColor", "normal"]. The first item of the list of From will match the first item of the list of To. etc...
    • Use * to let Substance 3D Sampler do the matching between identical usages of all usages of the From node and the To node (It's not possible to combine * with another link, while single links and list links are possible between same nodes)
  • Group: In case of a node has several times the same usage, you can use the Group attribute to select a specific usage. ie: For Blend filters, to get the baseColor of the bottom material use Material1 and to get the baseColor of the top material use Material2
Link between two nodes  
 { 
            "From": { "Node": "node1","Usage": "baseColor", "Group": ""}, 
            "To": { "Node": "node2", "Usage": "baseColor"} 
     } 
 
Link between outputs of layers below of the compound filter and the compound filter: 
 
  { 
            "From": { "Node": "FilterInput", "Usage": "*" }, 
            "To": { "Node": "node1", "Usage": "*"} 
     } 
 
Link to declare outputs of the compound filter: 
  { 
            "From": { "Node": "node1", "Usage": "*" }, 
            "To": { "Node": "FilterOutput", "Usage": "*"} 
     }

Get help faster and easier

New user?