Value nodes - NeocortexVT/VNyanDocFork GitHub Wiki
Value and Operation nodes are node that either extract values, perform math functions, or change the data type of values. For instance, the Bone to Vector3 node converts bone transformation data to vector values, and the Decimal to Text node converts a decimal value to text.
Types of Value Nodes:
- M - Manual input
- T - Trigger output*
-
S - Socket input/output
*Value Nodes do not accept or send trigger signals, and so Value Nodes do not have Call or Listener sockets.
For more details on node input and output, see Input and Output methods
Type conversion nodes convert the data type of a value. These nodes can be used to connect Value Sockets of different data types. Text to X nodes can be used to manually input values to Value Input Sockets.
Convert the transformation values of a VRM Humanoid bone to a three-dimensional vector.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Bone to read | M | - | The bone whose transformation values will be read as a 3D vector. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Local Position | S | Vector3 | The position transformation values local to the bone as a vector3. |
Local Rotation | S | Vector3 | The rotation transformation values local to the bone as a vector3. |
Local Scale | S | Vector3 | The scale transformation values of the bone as a vector3 value. |
World Position | S | Vector3 | The position transformation values relative to the world origin as a vector3. |
World Rotation | S | Vector3 | The rotation transformation values relative to the world origin as a vector3. |
Convert a boolean value to an integer.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Bool | The boolean value which will be converted to an integer value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The output integer value representing a boolean. true = 1, false = 0. |
Convert a boolean value to text.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Bool | The boolean value which will be converted to text. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The textual value of a boolean. "true"/"false". |
Convert a color hexadecimal value to its component RGB/HSV values.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Color | M/S | Color | A hexadecimal color value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Red | S | Float | The numerical representation of the red component of the input color, scaled 0 to 1. |
Green | S | Float | The numerical representation of the green component of the input color, scaled 0 to 1. |
blue | S | Float | The numerical representation of the blue component of the input color, scaled 0 to 1. |
Hue | S | Float | The numerical representation of the hue of the input color, scaled 0 to 1. |
Saturation | S | Float | The numerical representation of the saturation of the input color, scaled 0 to 1. |
Value | S | Float | The numerical representation of the value of the input color, scaled 0 to 1. |
Convert a color hexadecimal value to text.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Color | A hexadecimal color value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The hexadecimal value of the input color as text. |
Convert text field input to a text value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text to be converted to a text value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The input text as a text value. |
Convert decimal values to a hexadecimal color value. Decimal values must be scaled 0 to 1.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Color mode | M | - | Whether the input values refer to RGB value or HSV values. |
R/H | S | Float | The red or hue value of the color, depending on the Color Mode. |
G/S | S | Float | The green or saturation value of the color, depending on the Color Mode. |
B/V | S | Float | The blue or value value of the color, depending on the Color Mode. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Color | The hexadecimal value of the color defined by the input values. |
Convert a float number to an integer number. Output values are always rounded down.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The float number to be converted to an integer. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The integer (rounded down) value of the input float. |
Convert a float number to string representation. Rounds to the nearest significant number.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Decimal Places | M | Int | The number of decimal places included in the conversion. Rounds off the remainder. <=0 = no decimal values. |
Value | S | Float | The float number to be represented as text. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The text representation of the input float up to the specified amount of decimals. |
Convert three float numbers to a three dimensional vector.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
X/Y/Z Value | M/S | Float | The individual components of the output vector. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | vector3 | The output vector whose X/Y/Z components comprise of the provided input values. |
Convert an integer number to a float value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The integer to be converted to a float value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The float representation of the input integer. |
Represent an integer number as text value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The integer to be converted to a text value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The text representation of the input integer. |
Retrieve a parameter value as a float value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Parameter Name | M/S | String | The name of the parameter whose value will be output as a float value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The float value of the input parameter. |
Convert text or text field input to a boolean value. Can be used to manually input values into Value Input Sockets.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text to be converted to a boolean value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Bool | The input text as a boolean value. "1"/"true"/"on" (and case variations) = true; all other input = false. |
Convert an HTML color value to a color value. Accepts text or text field input. Can be used to manually input values into Value Input Sockets.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The HTML color to be converted to a color value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Color | The input text as color value. |
Convert text or text field input to a float value. Can be used to manually input values into Value Input Sockets.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text to be converted to a float value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The input text as a float value. |
Convert text or text field input to an integer value. Can be used to manually input values into Value Input Sockets.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text to be converted to an integer value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The input text as an integer value. |
Split a three dimension vector into its three component values as floats.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | vector3 | The three dimensional vector whose component values will be extracted. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
X/Y/Z | S | Float | The respective component values of the input vector as float values. |
Read microphone input volume as a decimal value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Audio Input | M | - | The audio device whose input volume will be compared against Volume. |
Frequencies | M | - | The frequency band across which the volume is taken.
|
Output Values:
Name | Method | Type | Description |
---|---|---|---|
X/Y/Z | S | Float | The volume of the input audio as a float value. |
Community Note: We would like to add more detailed information about the frequency bands for the Frequency settings. If you have more information about this, please let us know.
Operation nodes perform some kind of operation on the provided data, like manipulating text, accessing collections or performing math.
Retrieve the value at a specified index of a numerical array.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Array Name | M/S | String | The name of the numerical array to retrieve a value from. |
Index | M/S | Int | The index whose value will be retrieved. If the index exceeds the array length, the node will output 0. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The decimal value found at the provided index of the specified array. |
Perform simple arithmetic operations on two input values.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value 1 | S | Float | The value on the left side of the operation. |
Operation | M | - | Which mathematical operation to perform. Offers addition, subtraction, multiplication, division and modulo. |
Value 2 | S | Float | The value on the right side of the operation. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Output | S | Float | The result of the operation as a float number. |
Retrieve the value of a specified key in a dictionary.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Dictionary Name | M/S | String | The name of the dictionary to retrieve a value from. |
Key | M/S | String | The key of the value to be retrieved. If the key does not exist in the dictionary, the node will output an empty value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The text value found at the provided key of the specified dictionary. |
Retrieve global transform values of the active camera.
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Position | S | Vector3 | A vector containing the X/Y/Z position values of the camera. |
Rotation | S | Vector3 | A vector containing the X/Y/Z Euler angle values of the camera. |
FOV | S | Float | The current FoV value for the active camera. |
Focal Length | S | Float | The current focal length of the camera. |
Notes for the community: Focal length presumably outputs values in millimeters. Please let us know if you can confirm this.
Retrieve global transform values of the specified custom object.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
CObject ID | M/S | Text | The ID of the custom object whose transform values you wish to retrieve. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Position | S | Vector3 | A vector containing the X/Y/Z position values of the custom object. |
Rotation | S | Vector3 | A vector containing the X/Y/Z Euler angle values of the custom object. |
Scale | S | Vector3 | A vector containing the X/Y/Z scaling values of the custom object. |
Evaluate specific mathematical expressions and output the result as a float/decimal value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Expression | M/S | Text | The mathematical expression to be evaluated. Supports the following Mathematical operatiors: +, -, *, /, % and ^. Supports the following logical operators: =, !=, AND, OR, <, <=, > and >=. Supports the use of parameters using the parameter syntax. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Float | The result of the expression as a float number. |
Retrieve the value at a specified index of a text array.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Array Name | M/S | String | The name of the text array to retrieve a value from. |
Index | M/S | Int | The index whose value will be retrieved. If the index exceeds the array length, the node will output an empty value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The text value found at the provided index of the specified text array. |
Combine two strings into one (see notes).
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text value onto which Concat Text will be concatenated. |
Concat Text | M/S | String | The text value that will be concatenated onto the end of Text Value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The text value that is the combination of the input text values. |
Note Parameter values can easily be concatenated with each other or other text/decimal values in all input fields without using this node, by using the right syntax. For example, if param1 = "Text" and param2 = " text", then typing text into an input field will result in the input "Texttext text". See Parameters for more information.
Measure the number of characters of an input string.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The text value whose length will be measures. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | Int | The number of characters in the input string. |
Replace all instances of a substring with another string in text input.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The full string in which the specified Old Value will be searched for and replaced with New Value. |
Old Value | M/S | String | The substring of which all instances will be replaced with New Value. |
New Value | M/S | String | The substring that will replace all instances of Old Value found within Text Value. If left empty, all instances of Old Value will be removed without replacement. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The full string where all instances of Old Value have been replaces with New Value. |
Extract a substring of a given length at a given location from a larger string.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Value | M/S | String | The full string from which the substring will be extracted. |
Index | M/S | Int | The index of the start of the substring inside Text Value. 0-indexed. |
Length | M/S | Int | The length of the substring to be extracted. For example, if Length = 3, a substring of three characters will be extracted, starting with the character at Index. If Length = 0/empty, then all characters including and after Index will be extracted. If Index + Length exceeds the Text Value length, only as many characters as are available until the end of Text Value are output. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Value | S | String | The substring extracted from Text Value at Index of length Length as a text value. |
The Blendshape Processing Pipeline is a special set of nodes that is used to carefully fine-tune the behavior of your blendshapes. These node chains are automatically evaluated every frame, and nodes do not need to be triggered explicitly for manipulations to take effect.
Set a blendshape to binary. A binary blendshape is set to 100% whenever the blendshape value exceeds a threshold, and to 0% when below, with no in-between states.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshape List | M/S | String | A semi-colon-delimitered list of blendshapes to be set to binary. |
Threshold | M/S | Int | The threshold value around which the blendshapes in Blendshape List will be activated or deactivated. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Reduce the blendshape values of a list of blendshapes by the blendshape value of another blendshape. This can be used to automatically deactivate certain blendshapes when another blendshape is active, to avoid strange results. For example, expressions on the eyes can be deactivated whenever the model blinks. Blendshape constraining overwrites the original blendshape value, so the original value will need to be reapplied later if needed.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshape Constraint | M/S | String | The blendshape whose values should be subtracted from the blendshapes listed in Constrained List. |
Constrained List | M/S | String | A semi-colon-delimitered list of blendshapes to be constrained by the Blendshape Constraint. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Modify the activation curve of a list of blendshapes.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshape List | M/S | String | A semi-colon-delimitered list of blendshapes of which the activation curve should be altered. |
Multiplier Curve | M | - | The multiplier curve of the blendshape activation. The curve can be adjusted by dragging the purple squares. Additional points on the curve can be created by right-clicking in the window, and deleted by right-clicking a square. When the curve is created from two or fewer points, it is linear, otherwise it is polynomial. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Community Note: The polynomial function by which a curve with more than two points is plotted is presumably cubic, but unconfirmed.
Copy the blendshape value of one blendshape onto another. The source blendshape retains its original blendshape value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Active | S | Bool | A value indicating whether the node is active or not. Default: true. |
Blendshape Condition | M/S | String | A blendshape that is used to determine if the blendshape mapping should be performed or not. When the blendshape value of Blendshape Condition lies between Min and Mex Threshold, the mapping will be performed. (optional) |
Min Threshold | M/S | Int | The minimum value the blendshape in Blendshape Consdition must have for the mapping to be performed. |
Max Threshold | M/S | Int | The maximum value the blendshape in Blendshape Consdition can have for the mapping to be performed. |
Source Blendshape | M/S | String | The blendshape whose value will be copied onto the Target Blendshape. |
Target Blendshape | M/S | String | The blendshape whose value is set to the blendshape value of Source Blendshape. |
Multiplier | M/S | Float | A value by which the Source Blendshape's value will be multiplied before being copied to the Target Blendshape value. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Define the priority hierarchy of a set of blendshapes. The blendshape value of the highest-priority non-zero blendshape will be subtracted from the remaining blendshapes. This is similar to the Blendshape Constraint Node, but the Blendshape Constraint and Constrained List are more dynamic.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshape Priority List | M/S | String | A semi-colon-delimitered list of blendshapes who are in a hierarchical relationship with one another, in order of highest to lowest priority. The blendshape value of the first blendshape in the list whose value is larger than 0 will be subtracted from all the blendshapes lower in the list. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Replace one blendshape with another. The new blendshape receives the old blendshape's value, while the old blendshape is set to 0.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshape Condition | M/S | String | A blendshape that is used to determine if the blendshape replacement should be performed or not. When the blendshape value of Blendshape Condition lies between Min and Mex Threshold, the replacement will be performed. (optional) |
Min Threshold | M/S | Int | The minimum value the blendshape in Blendshape Consdition must have for the replacement to be performed. |
Max Threshold | M/S | Int | The maximum value the blendshape in Blendshape Consdition can have for the replacement to be performed. |
Blendshape to Replace | M/S | String | The blendshape whose value will be copied onto the Replace with Blendshape, and set to 0. |
Target Blendshape | M/S | String | The blendshape whose value is set to the blendshape value of Blendshape to Replace. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Smooth the behavior of all or a set of blendshapes, using linear interpolation. Overwrites any smoothing values on listed blendshapes set by earlier Blendshape Smooth nodes.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Blendshapes to Smooth | M/S | String | A semi-colon-delimitered list of blendshapes whose behavior will be smoothed. Smooths all blendshapes if left empty. If there is another Blendshape Smooth node earlier in the chain, only smoothing of blendshapes listed here are overwritten. |
Smooth Amount | M/S | Float | Apply blendshape smoothing through linear interpolation. Each frame, the blendshape value is set to the interpolated value at the specified percentage between the final target value and the value in the previous frame. 0 = interpolated value matches target value, i.e. no smoothing; 1 = interpolated value matches previous value, effectively disabling the blendshape. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |
Copy the blendshape value of a blendshape clip to a mesh blendshape on the model. Can only target mesh blendshapes on the model. If multiple mesh blendshapes with the same name exist on the model, all will be targeted.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model before processing. |
Source Blendshape | M/S | String | The name of the blendshape clip whose value should be copied to the Target Mesh Blendshape. |
Target Mesh Blendshape | M/S | String | The name of the mesh blendshape whose value will be set to the blendshape value of Source Blendshape. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Values | S | Blendshape List | The complete list of blendshape clip values on the model after processing. |