Vector Provider
Defines a 3D decimal vector {x, y, z}.
Vector Provider
Constant
Generates the provided vector.
Parameters:
| Name | Type | Description |
|---|---|---|
| Vector | 3D decimal vector |
SetX
Sets the value of the vector's X compnent.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | |
| Value | Density slot |
SetY
Sets the value of the vector's Y compnent.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | |
| Value | Density slot |
SetZ
Sets the value of the vector's Z compnent.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | |
| Value | Density slot |
Adder
Adds all the input vectors.
This is component-wise addition. If the inputs are , the result is , so each output component is the sum of the matching input components: , , .
Parameters:
| Name | Type | Description |
|---|---|---|
| Inputs | VectorProvider slots |
Subtracter
Subtracts vector B from vector A.
This is component-wise subtraction. If and , the result is , which you can read as the vector that points from B to A.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProviderA | VectorProvider slot | |
| VectorProviderB | VectorProvider slot |
Random
Generates a unit vector in a random direction.
Parameters:
| Name | Type | Description |
|---|---|---|
| Seed | String | Determines pseudo-random outcome. |
Normalizer
Sets the vector's length to the provided magnitude. The vector keeps its direction.
For any non-zero vector , this computes , where and is the target magnitude. In other words, it keeps the direction and rescales the length to exactly match the provided value.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | |
| Magnitude | Density slot | Determines the length of the vector. |
ScalarMultiplier
Multiplies the vector by a scalar.
If the input vector is and the scalar is , the result is . This scales the length by , and a negative scalar also flips the direction.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | |
| Density | Density slot | Scalar. |
Multiplier
Multiplies all the provided vectors.
This is component-wise multiplication, not a dot or cross product. For vectors and , the result is , and the same rule extends across any number of inputs.
Parameters:
| Name | Type | Description |
|---|---|---|
| Inputs | VectorProvider slots | Vectors to multiply. |
Cross
Finds the cross product of the provided vectors: A cross B.
The cross product produces a vector perpendicular to both inputs. Its magnitude is , where is the angle between them, so it is largest for perpendicular vectors and zero for parallel ones.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProviderA | VectorProvider slot | |
| VectorProviderB | VectorProvider slot |
PlaneProjector
Projects the vector onto a plane defined by the vectors PlaneA and PlaneB.
This keeps only the part of the vector that lies in the plane spanned by PlaneA and PlaneB. If is the plane normal, usually from , then the projection is , which removes the component orthogonal to the plane.
Parameters:
| Name | Type | Description |
|---|---|---|
| VectorProvider | VectorProvider slot | The vector to project. |
| PlaneA | VectorProvider slot | Defines the plane. |
| PlaneB | VectorProvider slot | Defines the plane. |
VectorProjector
Projects the vector onto another vector.
This keeps only the component of Source that points along Target. For non-zero target vector and source vector , the projection is .
Parameters:
| Name | Type | Description |
|---|---|---|
| Source | VectorProvider slot | |
| Target | VectorProvider slot |
DensityGradient
Generates the gradient of the provided Density field. The resulting gradient vector shows which direction the Density field increases and how quickly it changes.
For more information about gradient vectors, see: https://en.wikipedia.org/wiki/Gradient
Parameters:
| Name | Type | Description |
|---|---|---|
| SampleDistance | positive decimal value | How far apart the Density field value samples are taken. The optimal value for performance is 1.0. Greater values could be useful for smoothing out results for specific applications. |
| Density | Density slot |
Cache
Caches the input vector for each position.
Use this only if the downstream (child) VectorProvider is expensive and the same coordinate is queried more than once.
Parameters:
| Name | Type | Description |
|---|---|---|
| SampleDistance | positive decimal value | How far apart the Density field value samples are taken. The optimal value for performance is 1.0. Greater values could be useful for smoothing out results for specific applications. |
| Density | Density slot |
Exported
Allows exporting a VectorProvider as a single instance. Enabling SingleInstance on this node ensures all importers share the same logic.
By default, a completely different instance is created for every Imported node. When multiple Imported nodes import the same exported key, a new instance of that exported VectorProvider tree is created for each Imported node. SingleInstance ensures all importers share the same underlying instance of the node tree.
This node can be used to optimize caching when an exported VectorProvider is imported multiple times in the same context and contains caches. The caches would be shared between the different imported instances.
Important: This is still an experimental feature and could cause unexpected behaviors if misused.
Expected Inputs: 1
Parameters:
| Name | Type | Description |
|---|---|---|
| SingleInstance | boolean | Enable this to share the export across all Imported nodes that reference this key. |
| VectorProvider | VectorProvider slot |
Imported
Imports an exported VectorProvider.
Parameters:
| Name | Type | Description |
|---|---|---|
| Name | string | The exported VectorProvider. |
