User Guide Cancel

Built-in variables | Substance 3D Designer

Built-in variables

You can use built-in variables in Substance function graphs order to access specific values. They always begin with a $ (Dollar) symbol.

Some variables are only available in specific contexts.

All nodes

System variables

Name

Type

Purpose

$size

Float2

Returns the size of the current node in pixels.

 

If used in the Output Size parameter set to a Relative to... inheritance method, returns the inherited value.

$sizelog2

Float2

As above, but returns the size as power-of-2 values (ex: for 2048*2048 image, $sizelog2 returns 11).

 

If used in the Output Size parameter set to a Relative to... inheritance method, returns the inherited value.

$pixelratio

Integer

Returns an integer value corresponding to the current node pixel ratio (inherited or absolute):

 

0: Stretch

1: Square

$tiling

Integer

Returns an integer value corresponding to the current node tiling mode (inherited or absolute):

 

0: No Tiling

1: Horizontal Tiling

2: Vertical Tiling

3: H and V Tiling

$physicalsize

Float3

Returns the graph's Physical size property value.

$uvtile

Integer2

When using UDIM workflows, this variable returns the index of the current udim in U and V.

 

E.g., (2, 0) for tile 1003, (7, 11) for tile 1118, ...    

FX-Map

System variables

Name

Type

Purpose

$pos

Float2

Returns the birth position of the pattern. The origin (0, 0) is located at the top left corner of the image.

$depth

Float

Returns the octave (level) number of the FX-Map node. This allows a node to modify its behavior according to which level in the quad-tree it represents.

$depthpow2

Float

As above, but returns the multiplicative inverse of 2 raised to the power of the octave (level) number – i.e. 1/(2^octave). This is a helper value that comes in useful for some common calculations.

$number

Float

Returns the number of the drawn pattern. This can be accessed by Dynamic Function graphs controlling an Iterate node to modify its behavior at each iteration step.

 

Note that $number starts counting from 0, not 1.

 

When using a chain of Iterate nodes, the $number variable will return the iteration number from the last Iterate node connected before the function parameter it is used. If you want to retrieve the iteration number from multiple Iterate nodes, you should use "custom variables" through Set nodes.

Pixel processor

System variables

Name

Type

Purpose

$pos

Float2

Returns the position of the pixel being evaluated.

Global

System variables

Name

Type

Purpose

$time

Float

This variable returns the time in seconds since the Substance Engine was started.

It may be used in graphs which result should change according to elapsed time.

Note:

While there is currently no way to make this value change in Designer, applications that integrate the Substance Engine can leverage it, such as Substance Player for animation or Substance 3D Painter for dynamic strokes.

$normalformat

Integer

The normal format (I.e., DirectX or OpenGL) that used in the current environment.

Note:

This variable has no effect in Designer and may be used by other applications that integrate the Substance Engine.

Get help faster and easier

New user?