User Guide Cancel

Vector and Swizzle nodes | Substance 3D Designer

Vector and Swizzle nodes

Vector and Swizzle Nodes allow you to respectively Construct and Deconstruct Vector nodes from and into separate components.They are similar to RGBA Merge and RGBA Split, but then for Function Graphs. They are also a prime method for converting between Vector Data types, as Casting is not an option in a lot of cases.

Vector Nodes

Vector Nodes allow you to combine Vector or elements with fewer components, into Vectors with more components. There are a few specific rules or limitations for Vector nodes:

  • Vector Nodes have only two inputs, even if the resulting Vector has more than 2 components.
  • Vector Inputs are not limited to one type: they can take any lesser component as input.
  • The order of the result output is determined by the order of the Inputs.

That means the following methods are best used:

  • Construct a Vector 4 in two ways: either connect two 2-component Vectors, or connect a 1-component and a 3-component Vector.
  • If you want to construct a 3 or 4 component Vector from single Integers or Float, you must first do at least one Vector 2 combination before you can combine them into a 3-component Vector.

Think well about the order of connections. Connection order of inputs is illustrated below.

Example on Left Connects first an Integer(1) and then an Integer 3. Result is as below

OutputXYZW
Input 10


Input 2
124

Example on Left swaps inputs around from first example, first Integer 3, then a Integer(1).

OutputXYZW
Input 1124
Input 2


0

Vector Integer2

Vector Integer3

Vector Integer4

Vector Float2

Vector Float3

Vector Float4

Swizzle Nodes

Swizzle Nodes deconstruct or split off components from multi-component Vectors, allowing you to utilize X, Y, Z and W components individually as well as swap them around. The following rules and limitations apply:

  • Swizzle nodes have only one output.
  • Swizzle Nodes take any Input of the correct type (Int or Float).

Split Components

The most common usecase for Swizzle is to use it to split components, such as braking an Integer4 down into 4 individual Integers. The limitations do mean you will need four separate Swizzle Integer nodes for this.

Any other kind of split is also possible for an Integer4, such as two Integer2, or an Integer and an Integer3, again keeping in mind every result needs its own node.

Swap/Swizzle Components

Like the name suggests, Swizzle can be used to change the order of values or even overwriting values. You can change the order from X,Y,Z,W to W,Y,X,Z, and you can change the values from X,Y,Z,W to X,X,X,W for example.

Swizzle Integer

Swizzle Integer2

Swizzle Integer3

Swizzle Integer4

Swizzle Float

Swizzle Float2

Swizzle Float3

Swizzle Float4

Get help faster and easier

New user?