Value nodes - NeocortexVT/VNyanDocFork GitHub Wiki

Value and Operation Nodes

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:

Input and Output:

  • 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

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.

Bone to Vector3

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.

Bool to Number

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.

Bool to Text

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".

Color to Decimal

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.

Color to Text

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 to 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.

Decimal to Color

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.

Decimal to Number

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.

Decimal to Text

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.

Decimal to Vector3

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.

Number to Decimal

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.

Number to Text

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.

Param to Decimal

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.

Text to Bool

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.

Text to Color

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.

Text to Decimal

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.

Text to Number

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.

Vector3 to Decimal

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.

Volume to Decimal

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.
  • All - Read the volume across the entire frequency spectrum.
  • Low - Read the volume across the bass frequency spectrum.
  • Mid - Read the volume across the middle frequency spectrum.
  • High - Read the volume across the treble frequency spectrum.

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

Operation nodes perform some kind of operation on the provided data, like manipulating text, accessing collections or performing math.

Array Value

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.

Decimal Operation

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.

Dictionary Value

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.

Get Camera Transform

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.

Get CObject Transform

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.

Math Expression

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.

TArray Value

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.

Text Concat

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.

Text Length

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.

Text Replace

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.

Text Substring

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.

Blendshape Processing Pipeline

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.

Blendshape Binary

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.

Blendshape Constraint

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.

Blendshape Curve

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.

Blendshape Mapper

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.

Blendshape Priority

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.

Blendshape Replacer

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.

Blendshape Smooth

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.

Set Mesh Blendshape

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.
⚠️ **GitHub.com Fallback** ⚠️