Go to: Related nodes. Attributes.

The Vector Product utility node lets you multiply a vector by another vector in several different ways. The Vector Product node has three parts; two input attributes, an operator that is applied to the two input attributes, and an output attribute for holding the result of the operation.

This node uses standard vector/matrix mathematics. Say we have two input vectors, (a,b,c) and (d,e,f), and we are calculating the output vector (x, y, z). The calculations are defined as follows:

In the table below, important attributes have their names listed in bold in the description column.

This node is MP safe

Node nameParentsClassificationMFn typeCompatible function sets
vectorProductshadingDependNodeutility/general:drawdb/shader/operation/vectorProductkVectorProductkBase
kNamedObject
kDependencyNode
kVectorProduct

Related nodes

plusMinusAverage, reverse, chooser, choice, blend, blendTwoAttr, blendWeighted, blendDevice

Attributes (15)

input1, input1X, input1Y, input1Z, input2, input2X, input2Y, input2Z, matrix, normalizeOutput, operation, output, outputX, outputY, outputZ

Long name (short name)TypeDefaultFlags
operation (op) enum1outputinputconnectablestorable
The operation to be performed on the inputs. (See detailed descriptions at the top). Values are:

    No operation: The value of Input1 is copied to the Output. All other inputs are ignored.

    Dot Product: Each of the components of Output is set to the dot product of Input 1 and Input 2.

    Cross Product: Output is set to the cross product of Input 1 and Input 2.

    Vector Matrix Product: Output is set to the vector-matrix product of Input 1 and Matrix. Input 2 is ignored.

    Point Matrix Product: Output is set to the point-matrix product of Input 1 and Matrix. Input 2 is ignored.

input1 (i1) float30.0, 0.0, 0.0outputinputconnectablestorablekeyable
Input 1 is the first vector input, used for all operations.
input1X (i1x) float0.0outputinputconnectablestorablekeyable
The x component of Input 1
input1Y (i1y) float0.0outputinputconnectablestorablekeyable
The y component of Input 1
input1Z (i1z) float0.0outputinputconnectablestorablekeyable
The z component of input 1
input2 (i2) float30.0, 0.0, 0.0outputinputconnectablestorablekeyable
Input 2 is the second vector input, used for the Dot Product and Cross Product operations only.
input2X (i2x) float0.0outputinputconnectablestorablekeyable
The x component of Input 2
input2Y (i2y) float0.0outputinputconnectablestorablekeyable
The y component of Input 2
input2Z (i2z) float0.0outputinputconnectablestorablekeyable
The z component of Input 2
matrix (m) fltMatrixidentityoutputinputconnectablestorable
Matrix is the matrix input, used for the Vector Matrix Product and Point Matrix Product operations only.

This attribute is only connectable in the Connection Editor window.

normalizeOutput (no) boolfalseoutputinputconnectablestorablekeyable
Normalize Output. If this is turned on, then this node will attempt to normalize the vector output. This means that the output vector will be re-sized to a length of 1, while maintaining the same direction. If the vector is of zero length, an error will be produced.

For Dot Product (which does not produce a vector), turning on Normalize output will guarantee the output values lie between -1 and 1. Effectively, the output will be the cosine of the angle between the input vectors.

output (o) float31.0, 0.0, 0.0outputconnectable
Output is the result of the calculation performed by this node.
outputX (ox) float0.0outputconnectable
The X component of Output
outputY (oy) float0.0outputconnectable
The Y component of Output
outputZ (oz) float0.0outputconnectable
The Z component of Output