- 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
- Exposing a parameter
- Graph parameters
- 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
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly 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 > Spline Tools
Description
Maps an input color image on a primitive shape stretched along the input splines.
The primitive shape can be a plane, a half-cylinder or cylinder. The cylinders can be twisted along the spline to deform the mapped image accordingly.
The node outputs the mapped image as a color image, as well as other information such as height, UVs (I.e., image coordinates) and an ID mask for selecting each mapped spline independently.
The result may include undesired artifacts outside of the spline's envelope when using very low thickness values. This is a known issue.
See also Spline Mapper Grayscale.
Input connectors
Spline Coords Color
The coordinates of the input splines’ points encoded in the RGBA channels of a color image:
R - X position
G - Y position
B - Height
A - Packed data:
- Sign: Spline is closed (negative) or open (positive);
- Absolute value: Thickness + 1.
Spline Data Color
Additional data of the input splines encoded in the RGBA channels of a color image.
R - Tangents X
G - Tangents Y
B - Unused
A - Unused
Spline Amount Integer
The number of input splines.
Color Map Color
The input color image that should be mapped along the input splines.
Height Map Grayscale
The input grayscale height map that should be mapped along the input splines.
Twist Curve Grayscale
The image describing a curve using the values of its first row of pixels.
When the Shape parameter is set to Half-Cylinder or Cylinder, this input is used to control the twisting of the UVs around the shape. Its impact is controlled using the Twist UVs Curve Multiplier parameter.
The curve provides a profile for the amount of rotation along the spline, where the first pixel in the row is the rotation at the start of the spline, and the last is the rotation at the end. The grayscale value represents a number of turns.
You may use a Curve node to author the curve.
Output connectors
Color Color
The result of mapping the input Color image across the input splines, as a color image.
Height Grayscale
The result of mapping the input Height image across the input splines, as a grayscale image.
UV Color
The UVs (I.e., coordinates) of the mapping across the input splines, encoded in a color image.
ID Grayscale
A mask of the images mapped along the input splines, where the white values are incremented by 1 from one spline to the next so that each shape can be selected independently.
Parameters
Segments Amount Integer
Splines are simplified into segments before image coordinates traverse them.
A higher amount of segments results in a smoother mapping along curves.
Auto Scale UVs Boolean
Adjusts the scale of the coordinates automatically to retain a square image when mapping it along the splines.
UV Scale Float2
Adjusts the scale of the mapped coordinates in X (horizontally) and Y (vertically).
Higher values result in a more densely tiled image.
Mode Integer
The method of selecting the splines along which the image should be mapped:
- Draw Spline List: All the splines in the input list are used;
- Draw Single Spline: Only the spline with the specified index is used;
- Draw Spline Range: Only the splines which index is included in the specified range are used.
Draw Spline Index Integer (Available when ‘Mode’ is set to ‘Draw Single Spline’)
The index of the spline along which the image should be mapped.
Draw Spline Range Integer2 (Available when ‘Mode’ is set to ‘Draw Spline Range’)
The range of indexes for the splines along which the image should be mapped.
Start Float
Offsets the start of the portion of the spline which should be mapped.
The value represents the normalized length of the spline.
End Float
Offsets the end of the portion of the spline which should be mapped.
The value represents the normalized length of the spline.
Thickness Mode Integer
The method of setting the thickness of the mapped image:
- Manual: Set the thickness explicitly with an arbitrary value;
- From Spline: Use the thickness of the spline.
Thickness Float (Available when ‘Thickness Mode’ is set to ‘Manual’)
The arbitrary value for the thickness of the mapped image along the splines.
Thickness Multiplier Float (Available when ‘Thickness Mode’ is set to ‘From Spline’)
A global multiplier for the thickness of the mapped image along the splines, when that thickness it driven by that of the splines.
Shape Integer
The primitive shape used to map image coordinates along the splines:
- Plane: Coordinates are mapped to a flat plane;
- Half Cylinder: Coordinates are mapped to a half-cylinder which base circle’s axis follows the direction of the spline;
- Cylinder: Coordinates are mapped to a cylinder which base circle’s axis follows the direction of the spline.
Cylinder Height Multiplier Float (Available when ‘Shape’ is set to ‘Half Cylinder’ or ‘Cylinder’)
A multiplier for the intensity of the cylinder’s height contribution in the Height output.
Height adjustments are cumulative.
Cylinder Height Offset Float (Available when ‘Shape’ is set to ‘Half Cylinder’ or ‘Cylinder’)
Offsets the center of the Cylinder or Half-Cylinder shape profile from the spline's surface to one diameter beneath the surface.
Twist UVs Intensity Float (Available when ‘Shape’ is set to ‘Half Cylinder’ or ‘Cylinder’)
The twisting of the image coordinates around the cylinder, in number of turns.
Twisting involves rotating the cylinder at the end of the spline only. The rotation is then interpolated along the spline.
Twist UVs Curve Multiplier Float (Available when ‘Shape’ is set to ‘Half Cylinder’ or ‘Cylinder’)
A multiplier for the intensity of the Twist Curve input’s contribution to the twisting of the cylinder.
The curve provides a profile for the amount of rotation along the spline, where the first pixel in the row is the rotation at the start of the spline, and the last is the rotation at the end. The grayscale value represents a number of turns.
Twist UVs Curve Offset Float (Available when ‘Shape’ is set to ‘Half Cylinder’ or ‘Cylinder’)
Applies a global offset to the rotation values supplied by the Twist Curve, in number of turns.
Spline Height Multiplier Float
Adjusts the intensity of the Spline Height input’s contribution to the Height output.
Height adjustments are cumulative.
Input Height Multiplier Float
Adjusts the intensity of the Height Map input’s contribution to the Height output.
Height adjustments are cumulative.
Background Color Float4
The color of the background in the Color output.
Non-Square Correction Boolean
Adjust the points’ positions and thickness to retain the spline shape in non-square resolutions.
This also impacts uniform distribution.
Examples