- Substance 3D home
- User guide
- Glossary
- Getting started
- Interface
- Interface
- Customizing your workspace
- Home screen
- Main toolbar
- Preferences
- Explorer
- Graph view
- Library
- Properties
- 2D view
- 3D view
- Dependency manager
- Resources
- Resources
- Importing, linking and new resources
- Bitmap resource
- Vector graphics (SVG) resource
- 3D scene resource
- AxF (Appearance eXchange Format)
- Font resource
- Warnings from dependencies
- Substance graphs
- Substance graphs
- Substance graph key concepts
- Creating a Substance graph
- Instances and subgraphs
- Graph parameters
- Manage parameters
- 'Visible if' expressions
- Inheritance in Substance graphs
- Output size
- Values in Substance graphs
- Publishing Substance 3D asset files (SBSAR)
- Exporting bitmaps
- Exporting PSD files
- Sample Substance graphs
- Warnings in Substance graphs
- Nodes reference for Substance graphs
- Nodes reference for Substance graphs
- Atomic nodes
- Node library
- Node library
- Texture generators
- Texture generators
- Noises
- Noises
- 3D Perlin noise
- 3D Perlin noise fractal
- 3D Ridged noise fractal
- 3D Simplex noise
- 3D Voronoi
- 3D Voronoi fractal
- 3D Worley noise
- Anisotropic noise
- Blue noise fast
- BnW spots 1
- BnW spots 2
- BnW spots 3
- Cells 1
- Cells 2
- Cells 3
- Cells 4
- Clouds 1
- Clouds 2
- Clouds 3
- Creased
- Crystal 1
- Crystal 2
- Directional noise 1
- Directional noise 2
- Directional noise 3
- Directional noise 4
- Directional scratches
- Dirt 1
- Dirt 2
- Dirt 3
- Dirt 4
- Dirt 5
- Dirt gradient
- Fluid
- Fractal sum 1
- Fractal sum 2
- Fractal sum 3
- Fractal sum 4
- Fractal sum base
- Fur 1
- Fur 2
- Fur 3
- Gaussian noise
- Gaussian spots 1
- Gaussian spots 2
- Grunge concrete
- Grunge Damas
- Grunge galvanic large
- Grunge galvanic small
- Grunge leaks
- Grunge leaky paint
- Grunge map 001
- Grunge map 002
- Grunge map 003
- Grunge map 004
- Grunge map 005
- Grunge map 006
- Grunge map 007
- Grunge map 008
- Grunge map 009
- Grunge map 010
- Grunge map 011
- Grunge map 012
- Grunge map 013
- Grunge map 014
- Grunge map 015
- Grunge rough dirty
- Grunge rust fine
- Grunge scratches dirty
- Grunge scratches fine
- Grunge scratches rough
- Grunge shavings
- Grunge splashes dusty
- Grunge spots
- Grunge spots dirty
- Liquid
- Messy fibers 1
- Messy fibers 2
- Messy fibers 3
- Microscope view
- Moisture noise
- Perlin noise
- Plasma
- Caustics
- Voronoi
- Voronoi fractal
- Waveform 1
- White noise
- White noise fast
- Patterns
- Patterns
- 3D linear gradient
- 3D volume mask
- Alveolus
- Arc pavement
- Brick 1
- Brick 2
- Brick generator
- Checker 1
- Cube 3D
- Cube 3D GBuffers
- Fibers 1
- Fibers 2
- Gaussian 1
- Gaussian 2
- Gradient axial
- Gradient axial reflected
- Gradient circular
- Gradient linear 1
- Gradient linear 2
- Gradient linear 3
- Gradient radial
- Height extrude
- Mesh 1
- Mesh 2
- Panorama shape
- Polygon 1
- Polygon 2
- Scratches generator
- Shape
- Shape extrude
- Shape mapper
- Shape splatter
- Shape splatter blend
- Shape splatter data extract
- Shape splatter to mask
- Splatter
- Splatter circular
- Star
- Starburst
- Stripes
- Tile generator
- Tile random
- Tile random 2
- Tile sampler
- Triangle grid
- Weave 1
- Weave 2
- Weave generator
- Filters
- Filters
- Adjustments
- Adjustments
- Apply color palette
- Auto levels
- Channel mixer
- Chrominance extract
- Clamp
- Color match
- Color to mask
- Contrast/Luminosity
- Convert to linear
- Convert to sRGB
- Create color palette (16)
- Grayscale conversion advanced
- Hald CLUT
- HDR range viewer
- Height map frequencies mapper
- Highpass
- Histogram compute
- Histogram equalize
- Histogram range
- Histogram render
- Histogram scan
- Non-uniform histogram scan
- Histogram select
- Histogram shift
- ID to mask grayscale
- Invert
- Lighting cancel high frequencies
- Lighting cancel low frequencies
- Luminance highpass
- Min max
- Modify color palette
- Pow
- Quantize color (Simple)
- Quantize color
- Quantize grayscale
- Replace color
- Replace color range
- Threshold
- View color palette
- Blending
- Blurs
- Channels
- Effects
- Effects
- 3D texture position
- 3D texture SDF
- 3D texture surface render
- 3D texture volume render
- Ambient occlusion (HBAO)
- Ambient occlusion (RTAO)
- Anisotropic Kuwahara color
- Anisotropic Kuwahara grayscale
- Bevel
- Bevel smooth
- Cross section
- Curvature
- Curvature smooth
- Curvature sobel
- Diffusion color
- Diffusion grayscale
- Diffusion UV
- Directional distance
- Edge detect
- Emboss with gloss
- Extend shape
- Flood fill
- Flood fill mapper
- Flood fill to Bbox size
- Flood Fill to gradient
- Flood Fill to grayscale/color
- Flood Fill to index
- Flood Fill to position
- Flood Fill to random color
- Flood Fill to random grayscale
- FXAA
- Glow
- Mosaic
- Multi directional warp
- Non-uniform directional warp
- Reaction diffusion fast
- RT irradiance
- RT shadow
- Shadows
- Shape drop shadow
- Shape glow
- Shape stroke
- Summed area table
- Swirl
- Uber emboss
- Vector morph
- Vector warp
- Normal map
- Tiling
- Transforms
- Material filters
- Material filters
- 1-click
- Effects (Material)
- Transforms (Material)
- Blending (Material)
- PBR utilities
- Scan processing
- Mesh-based generators
- Mesh-based generators
- Mask generators
- Weathering
- Utilities (Mesh-based generators)
- Spline & Path tools
- Spline & Path tools
- Working with Path & Spline tools
- Path tools
- Spline tools
- Spline tools
- Paths to Spline
- Point list
- Scatter on Spline color
- Scatter on Spline grayscale
- Scatter Splines on Splines
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly quadratic)
- Spline (Quadratic)
- Spline append
- Spline bridge (2 Splines)
- Spline bridge (List)
- Spline bridge mapper color
- Spline bridge mapper grayscale
- Spline circle
- Spline fill
- Spline flow mapper
- Spline mapper color
- Spline mapper grayscale
- Spline merge list
- Spline render
- Spline sample height
- Spline sample thickness
- Spline select
- Spline warp
- UV mapper color
- UV mapper grayscale
- 3D view (Library)
- 3D view (Library)
- HDRI tools
- Node library
- Substance function graphs
- Substance function graphs
- What is a Substance function graph?
- Create and edit a Substance function graph
- The Substance function graph
- Variables
- FX-maps
- FX-Maps
- How it works
- The Iterate node
- The Quadrant node
- Using Substance function graphs in FX-Maps
- Warnings in Substance function graphs
- Sample Substance function graphs
- Nodes reference for Substance function graphs
- MDL graphs
- Bakers
- Best practices
- Pipeline and project configuration
- Color management
- Package metadata
- Scripting
- Scripting
- Plugin basics
- Plugin search paths
- Plugins packages
- Plugin manager
- Python editor
- Accessing graphs and selections
- Nodes and properties
- Undo and redo
- Application callbacks
- Creating user interface elements
- Adding actions to the Explorer toolbar
- Using color management
- Using spot colors
- Logging
- Using threads
- Debugging plugins using Visual Studio Code
- Porting previous plugins
- Packaging plugins
- Scripting API reference
- Technical issues
- Release notes
In: Spline & Path Tools > Path Tools
Description
Converts a grayscale input pattern Mask into a list of path segments encoded in the output Paths.
Controls over the start position of generated paths as well as their order in the list are available.
The generated Paths can be further processed using dedicated nodes – E.g., Path 2D Transform, Paths Warp – or converted into splines using the Path to Spline node to map or scatter shapes along them.
The method used to encode Paths is explained in the Paths Format Specifications page.
In this page
Mask Grayscale
The input pattern which should be converted into a list of Paths.
Preview Color
A preview composited on top of the mask to help visualizing the effects of the parameters.
Paths Color
A list of paths encoded in a color image. each path describes a list of encoded segments.
The result can be processed using another Paths-processing node, or sent to a Paths to Spline node to further process it as Splines.
Smooth Mask Float
Apply smoothing on the input mask.
Useful when the input pattern has very sharp edges, which usually causes artifacts.
Mask Threshold Value Float
The grayscale value of Mask that will be used to separate the outside (values < Mask Threshold Value) and the inside (values > Mask Threshold Value) of the shape.
Decimate Path Float
Implicitly controls the amount of segments that will be generated.
A high amount of decimation will make round shapes somewhat polygonal, while no decimation will generate almost one segment by pixel.
A reasonable amount will better match the shape of both straight lines and curves without creating a lot of intermediary points for straight lines.
Close opened Paths Boolean
Create a segment between the start and the end vertices of open paths.
Disabling this may fix undesirable lines traversing your pattern in an unexpected way, however paths may not be closed anymore.
Corner Threshold Float
Each vertex encoded in paths can hold a flag indicating whether it is hard (I.e., a corner) or smooth.
This parameter lets you mark more or less corners according to the angle between their adjacent segments.
Note: This 'corner' flag is currently not supported by any existing node but are available to be used in a Path Vertex Processor node. You may also visualize the corners with the Preview Paths node.
Path Startup Mode Integer
The method of selecting which vertex should be the start of each generated Path around the shapes in the Mask.
This has a significant impact when converting the generated Paths to Splines using the dedicated node, as multiple Spline nodes use the Splines' start and end.
- Most acute vertex: The vertex forming the lowest angle with its previous and next vertices
- Vertex at extreme of a specified direction: The last vertex in a given direction
- Vertex closest to a specified position
- Vertex farthest from a specified position
- Custom startup function: Use a custom function to select the vertex which should be used as the start each Path
Startup Direction Float
The angle describing the direction used to select the startup vertex. For each Path, the last vertex in this direction is selected.
The value is a number of turns used to rotate an X-leftdirection vector. This means 0 sets a direction vector of (-1, 0), and 0.25 (90 degrees) sets a direction vector of (0, 1).
Note: This parameter is available when Path Startup Mode is set to 'Vertex at extreme of a specified direction'
Startup Target Position Float2
The position in the image used to select the startup vertex.
For each Path, the vertex closest to or farthest from this position is selected, according to the selected Path Startup Mode.
Note: This parameter is available when Path Startup Mode is set to 'Vertex closest to a specified position' or 'Vertex farthest from a specified position'
Startup Function Float
The function used to select the startup vertex. It returns a Float value.
For each vertex, the function is executed and the vertex for which the function returns the highest result is selected.
Available variables:
- vertex.cornerness (Float): The score of the vertex as a candidate to be a corner
- vertex.pos (Float2): The vertex position in image space
Note: This parameter is available when Path Startup Mode is set to 'Vertex closest to a specified position' or 'Custom startup function'
Order Mode Integer
The method of ordering the generated Paths.
The position or size Paths' bounding box (Bbox) may be used as a criterion for ordering the Paths.
This has a significant impacts when converting the generated Paths to Splines using the dedicated node, as multiple Spline nodes use the Splines' order.
- Legacy (fast): The method used in the previous version of this node, which offers significantly better performance
- By Bbox center position along direction: Paths are ordered according to the position of the center of their Bbox, from first to last along the specified direction
- By Bbox Bbox top-left position along direction: Paths are ordered according to the position of the top-left corner of their Bbox, from first to last along the specified direction
- By Bbox size - Largest to smallest: Paths are ordered according to the size of their Bbox, from largest to smallest
- By Bbox size - Smallest to largest: Paths are ordered according to the size of their Bbox, from smallest to largest
- Custom ordering function: Use a custom function to order Paths
Ordering direction Float
The angle describing the direction used to order the Paths from first to last along that direction.
The value is a number of turns used to rotate an X-left direction vector. This means 0 sets a direction vector of (-1, 0), and 0.25 (90 degrees) sets a direction vector of (0, 1).
Ordering function Float
The function used to order the Paths. It returns a Float value.
Paths are ordered in ascending order according to this function's value. In other words, the result of the function for each Path is the sorting key used to order the Paths.
Available variables:
- bbox.center (Float2): The position of the Path Bbox's center
- bbox.topleft (Float2): The position of the Path Bbox's top-left corner
- bbox.size (Float2): The size of the Path Bbox (X: width, Y: height)