Utilities
Utilities nodes: Math, Vector.
Add menu - Utilities - Vector

This menu contains nodes that deals with vector data.
Repeat

When adding a repeat zone, two nodes are added with a “zone” set between them. The inputs connected to the Repeat Input node reads and gets data at the beginning of the loop before starting the looping - then the data is processed within the zone, here you can set any changes to the data to then repeat the execution again at the beginning of the chain for the next iteration of the loop. This chain of operations is repeated the specified number of times in the Repeat Input node.
In the example in the image above, we duplicate the cube, transform it with a rotation, then join it together again. We do this 8 times in a loop, creating a circular array.
Note: It is not possible to set data outside the Repeat Zone, you can only get data from outside the Repeat Zone. Any data connected from the outside of the zone are constant throughout every iteration based on their value at the current frame. The result of the looping can only be accessed via the Repeat Output node.
Repeat Zone Input
The beginning of the iteration or loop.
Input
Iterations
Number of repetitions or loops.
Geometry
Standard geometry input.
Output
Geometry
Standard geometry output.
Repeat Zone Output
The result and output of the iteration or loop. You can define custom attributes outputs here from the
| Entry | What it does |
|---|---|
| Input | Geometry: Standard geometry output. |
| Output | Geometry: Standard geometry output. |
Closure

Wrap nodes inside a closure that can be executed at a different part of the node-tree
Evaluate Closure

Execute a given closure.
Combine Bundle

Combine multiple socket values into one.
Separate Bundle

Decompose a bundle of values into the single values.
Menu Switch

The Menu Switch node selects and computes one input based on a user-defined menu. Only the selected input is computed.
Menu entries can be added, removed, renamed, and reordered. Renaming keeps existing input links.
The menu can be used in node groups and the nodes modifier UI. Connecting the menu to a Group Input node exposes it as a group input. A menu needs to be connected to a Menu Switch node to work. An unconnected menu is empty.
Connecting multiple Menu Switch nodes to the same output creates a conflict. To avoid this, a menu switch can be grouped. Multiple groups of the same type can connect to the same menu.
Note: You cannot plug in the same value socket into the Menu selector. If you’d like to use the same value for various Menu Switches, group the Menu Switch into a Node Group and use the top-level switch override.
Top Level Grouped Menu Switches with same inputs: | Conflict caused by Same Level menu Switch inputs: |
Inputs
A / B
Becomes the output if the value is chosen.
Menu

Determines which of the input options will be selected and passed through as the default.
A , B ...
The available input index types that you want to switch between. You can define more input sockets in the sidebar Menu Switch panel.
Note: You can add more menu switch options to the empty socket.
Properties
Data Type

Determines the type of the data that is handled by the node.
Outputs
Output
The output index.
Math
Add menu - Utilities - Math

This menu contains nodes that deals with Math data.
Clamp

The Clamp node clamps a value between a minimum and a maximum.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to be clamped. |
| Min | The minimum value. |
| Max | The maximum value. |
Properties
Clamp Type

| Entry | What it does |
|---|---|
| Min Max | Clamp values using Min and Max values. |
| Range | Clamp values between Min and Max range. |
Outputs
Result
The input value after clamping.
Float Curve

Generates a curve. This curve can then be used for profiles for example.
Inputs
| Entry | What it does |
|---|---|
| Factor | The input factor. |
| Value | The input value. |
Properties
Curve Widget
Navigation elements
The navigation elements at the top are described from left to right.
Zoom in and out
The two buttons with the magnifying glass at it zooms in and out in the curve window.
Clipping

Clipping options.
Tools

Tools is a menu where you can find some curve related tools.
| Entry | What it does |
|---|---|
| Reset View | Resets the curve windows zoom. |
| Extend Horizontal | Extends the curve before the last point and after the last point horizontally. |
| Extend Extrapolation | Extends the curve before the last point and after the last point extrapolated. |
| Reset Curve | Resets the curve to the initial shape. |
Vector Handle

Set handle type to Vector.
| Entry | What it does |
|---|---|
| Auto Handle | Set handle type to Auto. |
| Auto Clamped Handle | Set handle type to Auto Clamped. |
| X / Y | The x and y position of the currently selected curve point. |
| Delete Points | Delete the currently selected curve point. |
Map Range

The Map Range node remaps a value from a range to a target range.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to be remapped. |
| From Min | The lower bound of the range to remap from. |
| From Max | The higher bound of the range to remap from. |
| To Min | The lower bound of the target range. |
| To Max | The higher bound of the target range. |
Properties
Data Type

The data type to calculate.
Interpolation Type

| Entry | What it does |
|---|---|
| Linear | Linear interpolation between From Min and From Max values. |
| Stepped Linear | Stepped linear interpolation between From Min and From Max values. |
| Smooth Step | Smooth Hermite edge interpolation between From Min and From Max values. |
| Smoother Step | Smoother Hermite edge interpolation between From Min and From Max values. |
Clamp
If enabled, the output is clamped to the target range.
Outputs
Result
The input value after remapping.
Math

The Math Node performs math operations.
Inputs
| Entry | What it does |
|---|---|
| Value | First numerical value. The trigonometric functions accept values in radians. |
| Value | Second numerical value. This value is not used in functions that accept only one parameter like the trigonometric functions, Round and Absolute. |
Properties
Operation
Here you can choose what mathematical operation to perform.

Clamp
Limits the output to the range (0 to 1). See clamp.
Outputs
Value
Numerical value output.
Mix

Allows to mix values and vectors in various ways. The node has three different modes. Float, Vector and Color
Input

Float
| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Float value A input. |
| B | Float value B input. |
Vector
Factor mode Uniform

| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Vector A input. |
| B | Vector B input. |
Factor mode Non Uniform

| Entry | What it does |
|---|---|
| Factor | The vector mix factor. |
| A | Vector A input. |
| B | Vector B input. |
Color

| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Color A input. |
| B | Color B input. |
Properties
Data Type

Which mode to use.
Float mode

Clamp Factor
Clamp the factor to 0-1 range.
Vector mode

Factor mode

Uniform or non uniform factor.
Clamp Factor
Clamp the factor to 0-1 range.
Color mode

| Entry | What it does |
|---|---|
| Blending mode | What blending mode to use for the color. |
| Clamp Result | Clamp the result to 0-1 range. |
| Clamp Factor | Clamp the input factor to 0-1 range. |
Output
Result
The output value or vector.
Vector
Add menu - Utilities - Vector

This menu contains nodes that deals with vector data.
Combine XYZ

Same as with Combine RGB node. It combines color values. But instead combining rgb values, which are in the range of 0 to 255, it uses values in the range from 0 to 1.
| Entry | What it does |
|---|---|
| Input | X Y and Z: X, Y and Z values. |
| Output | Color: Color output. |
Map Range

The Map Range node remaps a value from a range to a target range.
Inputs
| Entry | What it does |
|---|---|
| Value | The input value to be remapped. |
| From Min | The lower bound of the range to remap from. |
| From Max | The higher bound of the range to remap from. |
| To Min | The lower bound of the target range. |
| To Max | The higher bound of the target range. |
Properties
Interpolation Type

| Entry | What it does |
|---|---|
| Linear | Linear interpolation between From Min and From Max values. |
| Stepped Linear | Stepped linear interpolation between From Min and From Max values. |
| Smooth Step | Smooth Hermite edge interpolation between From Min and From Max values. |
| Smoother Step | Smoother Hermite edge interpolation between From Min and From Max values. |
Clamp
If enabled, the output is clamped to the target range.
Outputs
Result
The input value after remapping.
Mix Vector

A mix node with vector preselected.
Input

Float
| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Float value A input. |
| B | Float value B input. |
Vector
Factor mode Uniform

| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Vector A input. |
| B | Vector B input. |
Factor mode Non Uniform

| Entry | What it does |
|---|---|
| Factor | The vector mix factor. |
| A | Vector A input. |
| B | Vector B input. |
Color

| Entry | What it does |
|---|---|
| Factor | The mix factor. |
| A | Color A input. |
| B | Color B input. |
Properties
Data Type

Which mode to use.
Float mode

Clamp Factor
Clamp the factor to 0-1 range.
Vector mode

Factor mode

Uniform or non uniform factor.
Clamp Factor
Clamp the factor to 0-1 range.
Color mode

| Entry | What it does |
|---|---|
| Blending mode | What blending mode to use for the color. |
| Clamp Result | Clamp the result to 0-1 range. |
| Clamp Factor | Clamp the input factor to 0-1 range. |
Output
Result
The output value or vector.
Separate XYZ

Same as with Separate RGB node. It separates color values. But instead separating rgb values, which are in the range of 0 to 255, it uses a vector with the values in the range from 0 to 1.
| Entry | What it does |
|---|---|
| Input | Vector: The Input vector. |
| Output | X, Y and Z: The output vectors for X, Y and Z |
Mapping

The Mapping node transforms the input vector by applying translation, rotation, and scaling.
Inputs
The inputs of the node are dynamic. In particular, the Location input is only available in the Texture and Point vector types.
| Entry | What it does |
|---|---|
| Vector | The vector to be transformed. |
| Location | The amount of translation along each axis. |
| Rotation | The amount of rotation along each axis. XYZ order. |
| Scale | The amount of scaling along each axis. |
Properties
Vector type

The node applies the transformation differently depending on the semantic type of the input vector.
Point
For this vector type, the node performs a straightforward transformation.
Transforming a texture coordinates is analogous to transforming a UV map. For instance, translating the texture coordinates along the positive X axis would result in the evaluated texture to move in the negative X axis, much like if one translated a UV map. Similarly, scaling the texture coordinates up would result in the evaluated texture to scale down. So transforming the texture coordinates would appear to have the opposite effect on the evaluated texture.
The order of transformation is: Scale –> Rotate –> Translate, which means:
Translation moves the input along the local rotation axis.
Rotation rotates the input around the origin of the space.
Scaling scales the input along the global axis.
Texture
For this vector type, the node performs an inverse transformation.
Inverse transforming a texture coordinates would, as opposed to the Point type, transform the evaluated texture itself. For instance, translating the texture coordinates along the positive X axis would result in the evaluated texture to move in the positive X axis, as one would expected. Similarly, scaling the texture coordinates up would result in the evaluated texture to scale up, as one would expect.
The order of transformation is: Translate –> Rotate –> Scale, which means:
Translation moves the input along the global axis.
Rotation rotates the input around the translation vector.
Scaling scales the input along the local rotation axis.
| Entry | What it does |
|---|---|
| Vector | For this vector type, a Point transformation is performed, but with zero translation. |
| Normal | For this vector type, the node performs the inverse transpose of the transformation and normalize the result. Such transformation ensures correct normals after non-uniform scaling. So this type should be used when transforming normals. |
Outputs
Vector
The input vector after transformation.
Normal

The Normal node generates a normal vector and a dot product.
| Entry | What it does |
|---|---|
| Inputs | Normal: Normal vector input. |
| Properties | Normal Direction: To manually set a fixed normal direction vector. LMB click and drag on the sphere to set the direction of the normal. Holding Ctrl while dragging snaps to 45 degree rotation increments. |
Outputs
| Entry | What it does |
|---|---|
| Normal | Normal vector output. |
| Dot | Dot product output. The dot product is a scalar value. If two normals are pointing in the same direction the dot product is 1. If they are perpendicular the dot product is zero (0). If they are anti parallel (facing directly away from each other) the dot product is -1. |
Radial Tiling

| Entry | What it does |
|---|---|
| Inputs | Vector: Input vector. · Sides: Number of angular elements for tiling. · Roundness: Roundness of the segment coordinate system. |
| Properties | Normalize: Normalize the output to a 0/1 range. |
Outputs
| Entry | What it does |
|---|---|
| Segment Coordinates | Segment coordinates for texture mapping. |
| Segment ID | Unique ID for every segment. |
| Segment Width | The width of each segment. |
| Segment Rotation | The rotation of each segment. |
Vector Curves

The Vector Curves node maps an input vector components to a curve.
Inputs
In the shader context the node also has an additional Factor property.
| Entry | What it does |
|---|---|
| Factor | Controls the amount of influence the node exerts on the output vector. |
| Vector | Standard vector input. Properties Channel |
Channel buttons

X, Y, Z. Clicking on one of the channels displays the curve for each.
Curve edit field
Create and tweak a Bezier curve that varies the input levels (X axis) to produce an output level (Y axis).
Selecting Points

You can select curve points. This reveals two edit boxes for the x and y coordinate of this point.
Selected points can be moved around. Left click at them, hold the mouse button down and move them to a new location.
Adding Points
This setting uses the curve widget: click to add points, drag to move them. See Curve Widget in the Interface chapter.
Navigation elements
The navigation elements at the top are described from left to right.
Zoom in and out
The two buttons with the magnifying glass at it zooms in and out in the curve window.
Clipping

Clipping options.
Tools

Tools is a menu where you can find some curve related tools.
Reset View
Resets the curve windows zoom.
Vector Handle

Set handle type to Vector.
| Entry | What it does |
|---|---|
| Auto Handle | Set handle type to Auto. |
| Auto Clamped Handle | Set handle type to Auto Clamped. |
| X / Y | The x and y position of the currently selected curve point. |
| Delete Points | Delete the currently selected curve point. |
Outputs
Vector
Standard vector output.
Vector Math

The Vector Math node performs the selected math operation on the input vectors.
Inputs
The inputs of the node are dynamic. Some inputs are only available in certain operations. For instance, the Scale input is only available in the Scale operator.
| Entry | What it does |
|---|---|
| Vector | Input vector A. |
| Vector | Input vector B. |
| Scale | Input Scale. |
Properties
Operation

The vector math operator to be applied on the input vectors.
Outputs
The output of the node is dynamic. It is either a vector or a scalar depending on the operator. For instance, the Length operator have a scalar output while the Add operator have a vector output.
| Entry | What it does |
|---|---|
| Vector | Output vector. |
| Value | Output value. |
Vector Rotate

This node provides the ability to rotate a vector around a center point using either Axis Angle, Single Axis or Euler methods.
Inputs
| Entry | What it does |
|---|---|
| Vector | The input vector. |
| Center | The center for the rotation. |
| Axis | The axis angles. |
| Angle | The rotation angle. |
Properties
Type

The rotation type.
Invert
Invert the angle
Outputs
Vector
The output vector
Vector Transform

The Vector Transform node allows converting a vector, point, or normal between world and camera and object coordinate space.
Inputs
Vector Input
Standard vector input.
Properties
Type
Specifies the input/output type.
Vector, Point, Normal.
Convert From

Coordinate Space to convert from World, Object or Camera.
Convert To

Coordinate Space to convert to World, Object or Camera.
Outputs
Vector Output
The transformed output vector.










Top Level Grouped Menu Switches with same inputs: