View & accessibility
Thumbnails
Motion
Bforartists
5.1
Editors

Utilities

Utilities nodes: Math, Vector.

14
 min read
Up to date for 
5.1
draft

Add menu - Utilities - Vector

Add menu - Utilities - Vector
Add menu - Utilities - Vector

This menu contains nodes that deals with vector data.

Repeat

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

EntryWhat it does
InputGeometry: Standard geometry output.
OutputGeometry: Standard geometry output.

Closure

Closure

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

Evaluate Closure

Evaluate Closure

Execute a given closure.

Combine Bundle

Combine Bundle

Combine multiple socket values into one.

Separate Bundle

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.

Menu Switch Menu Switch 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
Data Type

Determines the type of the data that is handled by the node.

Outputs

Output

The output index.

Math

Add menu - Utilities - Math

Add menu - Utilities - Math
Add menu - Utilities - Math

This menu contains nodes that deals with Math data.

Clamp

Clamp

The Clamp node clamps a value between a minimum and a maximum.

Inputs
EntryWhat it does
ValueThe input value to be clamped.
MinThe minimum value.
MaxThe maximum value.
Properties
Clamp Type
Clamp Type
EntryWhat it does
Min MaxClamp values using Min and Max values.
RangeClamp values between Min and Max range.
Outputs
Result

The input value after clamping.

Float Curve

Float Curve

Generates a curve. This curve can then be used for profiles for example.

Inputs
EntryWhat it does
FactorThe input factor.
ValueThe input value.
Properties
Curve Widget

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

Clipping options.

Tools

Tools

Tools is a menu where you can find some curve related tools.

EntryWhat it does
Reset ViewResets the curve windows zoom.
Extend HorizontalExtends the curve before the last point and after the last point horizontally.
Extend ExtrapolationExtends the curve before the last point and after the last point extrapolated.
Reset CurveResets the curve to the initial shape.

Vector Handle

Vector Handle

Set handle type to Vector.

EntryWhat it does
Auto HandleSet handle type to Auto.
Auto Clamped HandleSet handle type to Auto Clamped.
X / YThe x and y position of the currently selected curve point.
Delete PointsDelete the currently selected curve point.

Map Range

Map Range

The Map Range node remaps a value from a range to a target range.

Inputs
EntryWhat it does
ValueThe input value to be remapped.
From MinThe lower bound of the range to remap from.
From MaxThe higher bound of the range to remap from.
To MinThe lower bound of the target range.
To MaxThe higher bound of the target range.
Properties
Data Type
Data Type

The data type to calculate.

Interpolation Type
Interpolation Type
EntryWhat it does
LinearLinear interpolation between From Min and From Max values.
Stepped LinearStepped linear interpolation between From Min and From Max values.
Smooth StepSmooth Hermite edge interpolation between From Min and From Max values.
Smoother StepSmoother 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

Math

The Math Node performs math operations.

Inputs
EntryWhat it does
ValueFirst numerical value. The trigonometric functions accept values in radians.
ValueSecond 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.

Operation
Clamp

Limits the output to the range (0 to 1). See clamp.

Outputs
Value

Numerical value output.

Mix

Mix

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

Input
Input
Float
EntryWhat it does
FactorThe mix factor.
AFloat value A input.
BFloat value B input.
Vector
Factor mode Uniform
Factor mode Uniform
EntryWhat it does
FactorThe mix factor.
AVector A input.
BVector B input.
Factor mode Non Uniform
Factor mode Non Uniform
Factor mode Non Uniform
EntryWhat it does
FactorThe vector mix factor.
AVector A input.
BVector B input.
Color
Color
EntryWhat it does
FactorThe mix factor.
AColor A input.
BColor B input.
Properties
Data Type
Data Type

Which mode to use.

Float mode
Float mode

Clamp Factor

Clamp the factor to 0-1 range.

Vector mode
Vector mode

Factor mode

Factor mode

Uniform or non uniform factor.

Clamp Factor

Clamp the factor to 0-1 range.

Color mode
Color mode
EntryWhat it does
Blending modeWhat blending mode to use for the color.
Clamp ResultClamp the result to 0-1 range.
Clamp FactorClamp the input factor to 0-1 range.
Output
Result

The output value or vector.

Vector

Add menu - Utilities - Vector

Add menu - Utilities - Vector
Add menu - Utilities - Vector

This menu contains nodes that deals with vector data.

Combine XYZ

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.

EntryWhat it does
InputX Y and Z: X, Y and Z values.
OutputColor: Color output.

Map Range

Map Range

The Map Range node remaps a value from a range to a target range.

Inputs
EntryWhat it does
ValueThe input value to be remapped.
From MinThe lower bound of the range to remap from.
From MaxThe higher bound of the range to remap from.
To MinThe lower bound of the target range.
To MaxThe higher bound of the target range.
Properties
Interpolation Type
Interpolation Type
EntryWhat it does
LinearLinear interpolation between From Min and From Max values.
Stepped LinearStepped linear interpolation between From Min and From Max values.
Smooth StepSmooth Hermite edge interpolation between From Min and From Max values.
Smoother StepSmoother 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

Mix Vector

A mix node with vector preselected.

Input
Input
Float
EntryWhat it does
FactorThe mix factor.
AFloat value A input.
BFloat value B input.
Vector
Factor mode Uniform
Factor mode Uniform
EntryWhat it does
FactorThe mix factor.
AVector A input.
BVector B input.
Factor mode Non Uniform
Factor mode Non Uniform
Factor mode Non Uniform
EntryWhat it does
FactorThe vector mix factor.
AVector A input.
BVector B input.
Color
Color
EntryWhat it does
FactorThe mix factor.
AColor A input.
BColor B input.
Properties
Data Type
Data Type

Which mode to use.

Float mode
Float mode

Clamp Factor

Clamp the factor to 0-1 range.

Vector mode
Vector mode

Factor mode

Factor mode

Uniform or non uniform factor.

Clamp Factor

Clamp the factor to 0-1 range.

Color mode
Color mode
EntryWhat it does
Blending modeWhat blending mode to use for the color.
Clamp ResultClamp the result to 0-1 range.
Clamp FactorClamp the input factor to 0-1 range.
Output
Result

The output value or vector.

Separate XYZ

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.

EntryWhat it does
InputVector: The Input vector.
OutputX, Y and Z: The output vectors for X, Y and Z

Mapping

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.

EntryWhat it does
VectorThe vector to be transformed.
LocationThe amount of translation along each axis.
RotationThe amount of rotation along each axis. XYZ order.
ScaleThe amount of scaling along each axis.
Properties
Vector type
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.

EntryWhat it does
VectorFor this vector type, a Point transformation is performed, but with zero translation.
NormalFor 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

Normal

The Normal node generates a normal vector and a dot product.

EntryWhat it does
InputsNormal: Normal vector input.
PropertiesNormal 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
EntryWhat it does
NormalNormal vector output.
DotDot 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

Radial Tiling
EntryWhat it does
InputsVector: Input vector. · Sides: Number of angular elements for tiling. · Roundness: Roundness of the segment coordinate system.
PropertiesNormalize: Normalize the output to a 0/1 range.

Outputs

EntryWhat it does
Segment CoordinatesSegment coordinates for texture mapping.
Segment IDUnique ID for every segment.
Segment WidthThe width of each segment.
Segment RotationThe rotation of each segment.

Vector Curves

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.

EntryWhat it does
FactorControls the amount of influence the node exerts on the output vector.
VectorStandard vector input. Properties Channel
Channel buttons
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
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.

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

Clipping options.

Tools
Tools

Tools is a menu where you can find some curve related tools.

Reset View

Resets the curve windows zoom.

Vector Handle

Vector Handle

Set handle type to Vector.

EntryWhat it does
Auto HandleSet handle type to Auto.
Auto Clamped HandleSet handle type to Auto Clamped.
X / YThe x and y position of the currently selected curve point.
Delete PointsDelete the currently selected curve point.
Outputs
Vector

Standard vector output.

Vector Math

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.

EntryWhat it does
VectorInput vector A.
VectorInput vector B.
ScaleInput Scale.
Properties
Operation
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.

EntryWhat it does
VectorOutput vector.
ValueOutput value.

Vector Rotate

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
EntryWhat it does
VectorThe input vector.
CenterThe center for the rotation.
AxisThe axis angles.
AngleThe rotation angle.
Properties
Type
Type

The rotation type.

Invert

Invert the angle

Outputs
Vector

The output vector

Vector Transform

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
Convert From

Coordinate Space to convert from World, Object or Camera.

Convert To
Convert To

Coordinate Space to convert to World, Object or Camera.

Outputs
Vector Output

The transformed output vector.