User Guide Cancel

Function Nodes Overview | Substance 3D Designer

Function Nodes Overview

This page provides a full overview of all function nodes and explains color coding used for Function Data Types.You can click through to more detailed pages with further explanations.

These function nodes are accessible by right-clicking in the graph function editor, and choosing Element, by pressing Spacebar or Tab in a function, or through the Functions section of the Library.

Color Coding

Function Nodes and their Link wires are Color Coded according to the following scheme:

Float Colors

Float (1)

Lime Green

Float2

Flat green

Float3

Light Blue

Float4

Flat Blue

Integer Colors

Integer(1)

Flat Yellow

Integer2

Warm Yellow

Integer3

Orange

Integer4

Flat Red

Other Colors

Boolean

White

String

Lila

Node List

ElementTypeInputOutputDescription
ConstantFloat-FloatDefines a constant floating value, eg 0.1

Float2-Float2Defines a constant vector of 2 floating values, eg (0.1, 0.2)

Float3-Float3Defines a constant vector of 3 floating values, eg (0.1, 0.2, 0.3)

Float4-Float4Defines a constant vector of 4 floating values, eg (0.1, 0.2, 0.3, 0.4)

Integer-IntegerDefines a constant integer value, eg 1

Integer2-Integer2Defines a constant vector of 2 integer values, eg (1, 2)

Integer3-Integer3Defines a constant vector of 3 integer values, eg (1, 2, 3)

Integer4-Integer4Defines a constant vector of 4 integer values, eg (1, 2, 3 ,4)

Boolean-BooleanDefines a constant boolean value, eg True, or False

String-StringDefines a constant String value, eg "Substance"
VectorVector Float2Float1Float 2Casts 2 floating values in a vector with 2 coordinates

Vector Float3Float1 / Float2Float 3Casts 2 floating values in a vector with 3 coordinates

Vector Float4Float1 / 2 / 3Float 4Casts 2 floating values in a vector with 4 coordinates

Swizzle Float1Vector FloatFloat1Extracts a floating coordinate from a vector

Swizzle Float2Vector FloatFloat2Extracts 2 floating coordinates from a vector

Swizzle Float3Vector FloatFloat3Extracts 3 floating coordinates from a vector

Swizzle Float4Vector FloatFloat4Extracts 4 floating coordinates from a vector

Vector Integer2Integer2Vector Integer2Casts 2 integer values in a vector with 2 coordinates

Vector Integer3Integer3Integer3Casts 2 integer values in a vector with 3 coordinates

Vector Integer4Integer4Integer4Casts 2 integer values in a vector with 4 coordinates

Swizzle Integer1Vector IntegerInteger1Extracts an integer coordinate from a vector

Swizzle Integer2Vector IntegerInteger2Extracts 2 integer coordinates from a vector

Swizzle Integer3Vector IntegerInteger3Extracts 3 integer coordinates from a vector

Swizzle Integer4Vector IntegerInteger4Extracts 4 integer coordinates from a vector
VariablesSetanyinput typeSets a variable

Get Integer1-Integer1Get a function or graph Integer value input

Get Integer2-Integer2Get a function or graph Integer2 value input

Get Integer3-Integer3Get a function or graph Integer3 value input

Get Integer4-Integer4Get a function or graph Integer4 value input

Get Float1-Float1Get a function or graph floating value input

Get Float2-Float2Get a function or graph Float2 value input

Get Float3-Float3Get a function or graph Float3 value input

Get Float4-Float4Get a function or graph Float4 value input

Get Boolean-BooleanGet a function or graph boolean value input
SamplersSample GreyVector Float2Float4Returns the greyscale value of an input image at the given UV coordinates (float2)

Sample ColorVector Float2Float4Returns the color value of an input image at the given UV coordinates (float2)
CastTo FloatInteger1Float1Converts an integer in a float

To Float2Integer2Float2Converts an Integer2 in a Float2

To Float3Integer3Float3Converts an Integer3 in a Float3

To Float4Integer4Float4Converts an Integer4 in a Float4

To IntegerFloat1Integer1Converts a Float in an Integer

To Integer2Float2Integer2Converts a Float2 in an Integer2

To Integer3Float3Integer3Converts a Float3 in an Integer3

To Integer4Float4Integer4Converts a Float4 in an Integer4
OperatorAddVector Float / IntegerType of a & bAdds 2 values of the same type: a + b

SubtractionVector Float / IntegerType of a & bSubtracts 2 values of the same type: a - b

MultiplicationVector Float / IntegerType of a & bMultiplies 2 values of the same type: a * b

Scalar MultiplicationVector FloatType of aMultiplies a value by a floating value: a * scalar

DivisionFloat1 / Integer1Type of a & bDivides 2 values of the same type: a / b

NegationFloat1 / Integer1Type of aReturns the negation value: -a

ModuloFloat1 / Integer1Type of aReturns the modulo value: mod(a, divisor)

Dot ProductVector FloatType of a & bReturns the dot product of 2 values of the same type: dot(a, b)
LogicalAndBooleanBooleanReturns true if the 2 boolean entries are true. Returns false if one the entry is false.

OrBooleanBooleanReturns true if 1 of the boolean entries is true. Returns false if they are both false.

NotBooleanBooleanReturns the negation boolean of the entry: !a
ComparisonEqualFloat1 / Integer1BooleanReturns true if a = b

Not EqualFloat1 / Integer1BooleanReturns true if a != b

GreaterFloat1 / Integer1BooleanReturns true if a > b

Greater or EqualFloat1 / Integer1BooleanReturns true if a >= b

LowerFloat1 / Integer1BooleanReturns true if a < b

Lower or EqualFloat1 / Integer1BooleanReturns true if a <= b
FunctionAbsoluteFloat1 / Integer1Float1Returns the absolute value of a: abs(a)

FloorFloat1 / Integer1Float1Returns the highest value lower or equal to a: floor(a)

CeilFloat1 / Integer1Float1Returns the smallest value upper or equal to a: ceil(a)

CosineFloat1 / Integer1Float1Returns the cosine value of a: cos(a)

SineFloat1 / Integer1Float1Returns the sine value of a: sin(a)

TangentFloat1 / Integer1Float1Returns the tangent value of a: tan(a)

Arc Tangent 2Vector Float2Float1Returns the arc tan 2 value of a vector2 entry: arctan2(xa, ya)

CartesianFloat1Float2Converts 2 polar coordinates to cartesian coordinates: carth(rho, theta)

Square RootFloat1 / Integer1Float1Returns the square root value of a

LogarithmicFloat1 / Integer1Float1Returns the logarithmic value of a: log(a)

ExponentialFloat1 / Integer1Float1Returns the exponential value of a: exp(a)

Pow 2Float1 / Integer1Float1Returns the power of 2 value of a

Linear InterpolationFloat1 / Integer1Float1Returns the linear interpolation between 2 values, depending on a floating value : (1-x)a + x * b

MinimumFloat1 / Integer1Type of a & bReturns the minimum value between a and b

MaximumFloat1 / Integer1Type of a & bReturns the maximum value between a and b
Random
Float1Float1Generates a floating value between 0 and a
ControlSequenceanyType of inputAllows to choose which value to compute first between 2 values.

If...ElseBoolean / a & bType of a & bReturns true if the condition in If is true. Returns false if it's false.

Get help faster and easier

New user?