User Guide Cancel

Spot Colors | Substance 3D Automation ToolKit

  1. Substance 3D home
  2. Home
  3. Command Line Tools
    1. Command Line overview
    2. sbsbaker
      1. sbsbaker overview
      2. sbsbaker command line options
      3. sbsbaker Example Command Lines
    3. sbscooker
      1. sbscooker overview
      2. sbscooker command line options
      3. sbscooker pattern variables
    4. sbsmtools
      1. sbsmtools overview
      2. sbsmtools command line options
    5. sbsmutator
      1. sbsmutator overview
      2. sbsmutator command line options
      3. sbsmutator Example Command Lines
    6. sbsrender
      1. sbsrender overview
      2. sbsrender base parameters and pattern variables
      3. sbsrender command line options
      4. sbsrender example command lines
    7. sbsupdater
      1. sbsupdater overview
      2. sbsupdater command line options
  4. Pysbs - Python API
    1. Pysbs - Python API overview
    2. Getting started
    3. General topics
      1. Basic manipulation
      2. Substance creation
      3. Substances modification
      4. Dependencies management
      5. PySbs batchtools module
      6. metadata manipulation
      7. SAT demos
      8. Edit sbsar with SBSARManager
      9. Spot Colors
      10. Thumbnail creation with SAT
    4. Examples
      1. demohelloworld
      2. demos
      3. demos_batchtools
      4. script_update_with_sbsupdater
    5. API Content
      1. API Content overview
      2. Substance definitions
        1. Common interfaces
          1. basegraph
          2. package
          3. sbsarobject
          4. sbsobject
        2. compnode
          1. compnode overview
          2. common
          3. compimplementation
          4. paramgraph
        3. context projectmgr
        4. graph
          1. graph overview
          2. function
          3. inputparameters
          4. output
        5. mdl
          1. mdlannotation
          2. mdlcommon
          3. mdldictionaries
          4. mdlenum
          5. mdlgraph
          6. mdllibclasses
          7. mdlmanager
          8. mdlnode
          9. mdlnodeimpl
          10. mdloperand
          11. mdlsbsbridge
        6. modelgraphindex
          1. modelannotationnames
          2. modelgraph
          3. modelgraphgenerator
          4. modelgraphimplementation
          5. modelnodenames
          6. modeloperand
          7. modulegraphindex
          8. moduleannotation
          9. moduleconnection
          10. modulegraph
          11. modulegraphgenerator
          12. modulegraphimplementation
          13. modulegraphlibrary
          14. modulegraphregister
          15. modulenode
          16. modulenodeimplementation
          17. modulenodeinstance
          18. moduleoperand
          19. moduleoutputbridging
          20. moduleparaminput
        7. params
          1. params overview
          2. dynamicvalue
          3. paramnode
        8. projectmgrdoc
        9. sbsarchive
          1. sbsarchive overview
          2. sbsarenum
          3. sbsargraph
          4. sbsargui
          5. sbsarguiwidgets
          6. sbsarmanager
        10. sbscommon
          1. connections
          2. gui
          3. nodes
          4. values
        11. sbspreset
        12. sbsproject
        13. substance
          1. substance overview
          2. content
          3. resource
      3. Libraries
        1. sbsenum
        2. sbslibrary
          1. sbslibrary overview
          2. sbsdictionaries
          3. sbsfilters
          4. sbsfunctions
          5. sbsfxmapnodes
          6. sbslibclasses
          7. sbswidgets
        3. sbsbakerslibrary
          1. sbsbakerslibrary overview
          2. sbsbakersdef
          3. sbsbakersdefaultprops
          4. sbsbakersdictionaries
          5. sbsbakersenum
          6. sbsbakingconverter
          7. sbsbakingconverterparam
          8. sbsbakingparameters
          9. sbsdialogstate
          10. sbsscenedata
        4. Helpers
          1. sbscleaner
          2. sbsexporter
          3. sbsgenerator
          4. sbsparser
          5. sbswriter
          6. qtclasses
            1. qtclasses overview
            2. qtvariantreader
            3. qtvariantwriter
          7. psdparser
          8. sbsimpactmanager
          9. batchtools
          10. autograph
            1. ag_functions
            2. ag_layout
            3. ag_types
          11. info_mesh_parser
          12. sbsbaker_info_handlers
          13. sbsrender_render_handlers
          14. output_handlers
          15. spotcolorinfo_handler
          16. thumbnail
          17. batchtools overview
        5. Execution context
          1. context
          2. functions
        6. API Change log
  5. Samples
    1. Samples overview
    2. Texturing Template Demo
    3. Batch Tools Demo
    4. Variations
    5. Texture Mat
    6. Pixel Processor Ray tracer
  6. Setup and Getting Started
    1. Setup and Getting Started overview
    2. Compatibility
    3. Frequently asked Questions
    4. Known issues
    5. SAT Cookbook
    6. Use Pysbs in different python interpreter (maya, sd, blender...)
  7. Integrations
    1. Substance Maya toolset
      1. Substance Maya Toolset overview
      2. Installing
      3. Launching
      4. Baking
        1. Baking overview
        2. Export parameters
        3. Baker parameters
        4. Mesh setup
        5. Using a template
      5. Changelog
  8. Release notes
    1. Version 11.3.0
    2. Version 11.2.0
    3. Version 11.1.0

Spot Colors

Spot colors with spotcolorinfo

From the 11.1 version Substance Designer and SAT introduced spot colors concept. Spot colors allows users to pick color from color books, like Pantone. In this version several Pantone books are shipped with SD and SAT but it’s also possible to add your own Spot colors books. :link to spotcolors SD doc:

SAT 11.1 has a Spot colors utility batchtool, spotcolorinfo(.exe). This batchtool allows users to get various information for a given Spot color or a color name from a book. It’s split into three sub command:

  • spotcolorinfo from-names get information from a color and its book name
  • spotcolorinfo from-ids get information from Spot color ID and a book ID
  • spotcolorinfo list get a Spot color info list from a book name

Some examples with the color PANTONE Cool Gray 4 U from the book PANTONE solid uncoated:

# --book-color-name  value must be under form <bookname>|<colorname> 
~$ spotcolorinfo from-names --book-color-name "PANTONE solid uncoated|PANTONE Cool Gray 4 U" 
{ 
    "PANTONE solid uncoated|PANTONE Cool Gray 4 U": { 
        "bookid": 3005, 
        "bookname": "PANTONE solid uncoated", 
        "colorengine": "legacy", 
        "colorid": "  CG4U", 
        "colormodel": 0, 
        "colorname": "PANTONE Cool Gray 4 U", 
        "rgba": [ 
            0.7144664525985718, 
            0.7144691944122314, 
            0.714465856552124, 
            1 
        ] 
    } 
} 
 
# --spotcolor  value must be under form <bookid>|<colorid>, colorid is always composed of 6 chars (spaces matters) 
~$ spotcolorinfo from-ids --spotcolor "3005|  CG4U" 
{ 
    "PANTONE solid uncoated|PANTONE Cool Gray 4 U": { 
        "bookid": 3005, 
        "bookname": "PANTONE solid uncoated", 
        "colorengine": "legacy", 
        "colorid": "  CG4U", 
        "colormodel": 0, 
        "colorname": "PANTONE Cool Gray 4 U", 
        "rgba": [ 
            0.7144664525985718, 
            0.7144691944122314, 
            0.714465856552124, 
            1 
        ] 
    } 
} 
 
~$ spotcolorinfo list --book-name "PANTONE solid uncoated" 
{ 
"PANTONE solid uncoated|PANTONE 100 U": { 
    "bookid": 3005, 
    "bookname": "PANTONE solid uncoated", 
    "colorengine": "legacy", 
    "colorid": "  100U", 
    "colormodel": 0, 
    "colorname": "PANTONE 100 U", 
    "rgba": [ 
        0.9859546422958374, 
        0.9317296743392944, 
        0.468885213136673, 
        1 
    ] 
}, 
"PANTONE solid uncoated|PANTONE 101 U": { 
    "bookid": 3005, 
    "bookname": "PANTONE solid uncoated", 
    "colorengine": "legacy", 
    "colorid": "  101U", 
    "colormodel": 0, 
    "colorname": "PANTONE 101 U", 
    "rgba": [ 
        0.9922541975975037, 
        0.9378421306610107, 
        0.4005987346172333, 
        1 
    ] 
} 
...

For each commands, the flag –colorbooks can be used to precise another books collection directory.

It’s also possible to used an ACE color profile to get corresponding Spot color info.

~$ spotcolorinfo from-names --ace --ace-render-intent saturation --ace-working-space srgb --book-color-name "PANTONE solid uncoated|PANTONE Cool Gray 4 U" 
{ 
    "PANTONE solid uncoated|PANTONE Cool Gray 4 U": { 
        "acesettings": { 
            "renderintent": "saturation", 
            "workspace": "srgb" 
        }, 
        "bookid": 3005, 
        "bookname": "PANTONE solid uncoated", 
        "colorengine": "ace", 
        "colorid": "  CG4U", 
        "colormodel": 0, 
        "colorname": "PANTONE Cool Gray 4 U", 
        "rgba": [ 
            0.719413161277771, 
            0.7131832242012024, 
            0.7109392285346985, 
            1 
        ] 
    } 
}

Spot colors with PySBS

PySBS fully supports Spot color, it wraps the spotcolorinfo command line to manipulate Spot color transparently.

Set Compnode’s parameter with Spot color value:

node = graph.getAllFiltersOfKind(sbsenum.FilterEnum.UNIFORM) 
node.setParameterSpotColorValueFromNames("outputcolor", "PANTONE solid uncoated", "PANTONE Cool Gray 4 U") 
node.setParameterSpotColorValueFromIds("outputcolor", "3005", "  CG4U")

Set Graph’s input parameter with Spot color value:

input_param = graph.addInputParameter("spotcolor", sbsenum.WidgetEnum.COLOR_FLOAT4) 
input_param.setSpotColorFromNames('PANTONE solid uncoated', 'PANTONE Cool Gray 4 U') 
input_param.setSpotColorValueFromIds("3005", "  CG4U")

For each set Spot color a SBSParamSpotColorInfo is created as the parameter value, this value can be get:

# compnode 
param = node.getDefinedParameters()[0] 
spotcolorparam = param.getSpotColorInfo() 
info = spotcolorparam.getInfo() 
or_info_as_dict = spotcolorparam.getInfoAsDict() 
 
#graph input param 
param = node.getParameterValue 
input_param = graph.getInputParameter("spotcolor") 
spotcolorparam = in_param.getSpotColorInfo() 
info = spotcolorparam.getInfo() 
or_info_as_dict = spotcolorparam.getInfoAsDict()

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online