Substance Designer Develops Scripting API and Automated Workflows
A new scripting API, partly launched already, will soon give users the ability to rewrite Substance Designer in specific ways to fit their own requirements. As well as this API, the application has several useful new nodes, performance upgrades and floating windows, options to automate project updates and other changes
The new API, based on Python, in its current version 3.6.5 is a first step toward giving users control over many aspects of Substance Designer through scripting. So far, users can access, save and export runtime data from the graph, making it possible for individuals or a complete studio to build their own customised quality checks. Users can also create their own plugins using the scripting tool, or modify existing plugins to suit specific tasks.
Scripting API
Although you cannot yet make changes to a Substance Designer graph with scripting, the new API allows you to read and analyse the contents of a graph, and set up quality checks either from a single-user point of view, up to a large production team with specific requirements. Once you have determined the necessary outcome, the API can perform checks and generate a precise quality report. Possible checks include absolute output size or pixel format, correct usage or the presence of unnecessary conversion nodes.
Related to QC processes is custom graph export. The API will allow you to analyse the contents of any of Substance Designer's graph types – such as Compositing, Function, Fx-Map or MDL graphs – and export it to the desired format. It also gives the option to compute a Substance Compositing graph to obtain the generated output texture, and save the textures where they are needed.
As an example of what you can do with the API, a new toolbar in this Summer Release was designed to align nodes, aligning them horizontally, vertically and snapping them to the grid. The plugins for this toolbar were developed using the scripting API. You can develop your own plugins or, if preferred, start with Allegorithmic's plugins and adapt them. The Python code is editable so you could, for example, create your own graph layout plugin. Teams can also create plugin libraries to facilitate sharing within projects.
Future updates will expand the API to include direct customisation to a Substance Designer graph, as well as introduce full automation. The Substance Automation Toolkit allows automating workflows over a large number of assets to help make large scale projects more efficient.
Better Gradients and Transforms
Two new nodes will allow users to generate complex heightmaps procedurally and produce complex shapes in Substance Designer that can be adjusted at any time. The Shape Extrude node is made to convert 2D shapes to 3D. The Splatter node spreads patterns around a map and generates extra data that can be used with new specific nodes. Users can also warp shapes according to the heightmap's slope, and combine the new 3D Shape Extrude nodes with the Splatter node.
New functionality includes control over the intensity - the contrast between the offset colours - of a normal map, and a Normal Map Transform that automatically adjusts vector values as the user scales, rotates and offsets a normal map. Another new transform tool manipulates four control points at the corners to transform an image, and Trapezoid Transform modifies images by shrinking or stretching one of their sides.
New Gradient tools have been developed that use control points to modify an image with gradients. An updated version of the recent Flood Fill tool now works with any shape, and can handle holes in patterns. Two further nodes are Flood Fill to Colour/Grayscale, which colorises shapes using an image input, and Flood Fill to Gradient, which samples an additional image to orientate the gradients. www.allegorithmic.com