Version 7.4

Substance 3D Painter 7.4 adds support for OpenColorIO with the introduction of the new Color Management workflow.

Release date: 24 November 2021

Major features

New color management

This version introduces color management with the support of OpenColorIO (OCIO for short) version 2.

This new workflow allows to manage and calibrate colors from import to export and inside the viewport as well, allowing to match any content across different applications more easily.

  • Project settings
    When creating a new project it is now possible to enable color management. Existing project can also enable color management via the project settings.
    To enable color management, switch from Legacy (default) to OpenColorIO and use one of the default configurations or a custom one.


  • Viewport display settings
    At the top of the 2D and 3D views are two controls for color management:
    Color button: enable or disable the color transformation of the viewport.
    Display transform dropdown: select which display transform to use to convert the colors.


  • Color picker settings
    When color management is enabled, the color pickers offers new controls. Color are edited in the working color space specified by the configuration.
    Below the HSV/RGB sliders is displayed the final color value, transformed from the working space to the display color space.


  • Import bitmaps and Substance materials with custom color space
    Dedicated settings are available to specify how resources should be handled, including how Substance materials output should be interpreted.
    It is also possible to know which color space a resource is using by parsing its filename.


  • Export settings
    When exporting textures, color managed channels will display in their filenames the name of the color space used with the help of the new keyword $colorSpace.


To learn more about how color management works inside the application, see the dedicated page.

New undock of 2D and 3D viewport

The 2D and 3D view can now be undocked to be moved elsewhere. For example by having the 3D view on a main screen while the 2D view sits on another screen.

Working with an undocked view is easier to organize the layout of the application and to keep a eye on things without loosing too much painting area.

  • Undock a view
    To undock a view, simply open the view menu and choose one of the two options. Each option opens a new window with the its view inside, while the other view remains docked inside the main interface.


  • Swap even with an undocked view
    While a view is undocked, the swap action from the view menu can be used to exchanged them.


  • Compatible with color management
    The undocked view has its own color management display transform, making it easier to manage in different monitors.

New content

A new set of assets has been added to the default content available with the application:

  • New decals, tool presets and filter (by Käy Vriend):
    • Decals
      • Scar Plain Straight
      • Pocket Patch Regular
    • Presets
      • Zipper Advanced Tape
      • Zipper Advanced Stop
      • Zipper Advanced Slider
      • Tightening Cord Lace
      • Tightening Cord Eyelet
      • Glitter Stars Golden
      • Glitter Party
      • Glitter Dots Pastel
    • Generator
      • Inflate Shrink/Wrap


  • New grunge bitmaps (by Emiel Sleegers):
    • Grunge Plaster Paint
    • Grunge Plaster Faded
    • Grunge Paint Peeled
    • Grunge Humidity
    • Grunge Fluff
    • Grunge Cobweb
    • Grunge Bush
    • Grunge Wood Soft
    • Grunge Paper Ripped
    • Grunge Cracked Deep
    • Grunge Brushed Dust

Improved automatic UV unwrapping

The automatic UV unwrapping has been updated with a new option that to improve the support of 3D models with extended surfaces.

This new setting named Avoid elongated UV islands take better advantage of the UV space by splitting UV islands that could be too long.

Below is an example of this new settings without using it vs using it:

Improved Python scripting

The Python API has a new method which allows to call the Javascript API.

This new method make it easier to migrate old plugins toward the new Python API. It also unlock some features such as Baking and Shader management that haven't been exposed in Python yet.

To run a Javascript command from Python, use the evaluate() function form the new js submodule. More information can be found inside the API documentation (available via the Help menu of the application).


Release Notes

7.4.0

(Released November 24, 2021)

Added:

  • [Color Management] Support of Color Management OpenColorIO version 2
  • [Color Management] Add color management settings to project settings
  • [Color Management] Warning window about Color Management configuration changes when opening a project
  • [Color Management] Display an error message if an invalid OCIO config file is selected
  • [Color Management] Allow to override configuration with OCIO environment variable
  • [Color Management] Multiple OCIO configurations integrated by default with the application
  • [Color Management] Extract color space name from imported bitmap filename
  • [Color Management] Allow to override the color space with one color space from the configuration in Properties window
  • [Color Management] Add color management options in Texture Set Settings
  • [Color Management][Viewport] Allow to color manage 2D and 3D views separately
  • [Color Management] Load and convert environment map to the working color space
  • [Color Management] Adjust color picker and editor with current color space
  • [Color Management] Allow to select the display transform color space in the viewport with a new dropdown menu
  • [Color Management] Apply display transform with Iray rendering results
  • [Color Management] Export textures with different color spaces
  • [Color Management][Python] Apply color management settings from Environment variable (OCIO) to new projects
  • [Viewport] Allow to undock the 2D or 3D viewport
  • [Auto Unwrap] New option to avoid elongated islands
  • [Scripting Python] Call JavaScript functions from Python API
  • [New Project Window] Make the imported maps section collapsible
  • [Projection][Warp] Allow to hide normals as an option in the Warp settings
  • [Content] 11 new grunge maps
  • [Content] 8 new tool presets (zipper, tightening cord, glitter)
  • [Content] 8 new materials (scar, pocket, ...)
  • [Content] 1 new generator (inflate shrinkwarp)

Known Issues:

  • [Mac M1] Smart materials are not displayed correctly
  • [Color Management][Crash] Random crash when playing with data type/color management on user channel
  • [Color Management] Color picker does not pick the right value for data channel in legacy mode
  • [Color management][Iray] Saving the render in EXR or TIFF while Color Management is activated in the viewport will always save in linear
  • [Color management] Resources used as grayscale in mask display the wrong Color Space menu
  • [Color Management][Iray] Env map is always linear when used in Iray
  • [Color Management][Export] Converted maps are not exported as a color managed channels
  • [Color Management][Export] Export ignores if user channel is color managed or not with legacy mode