Gateway Nodes - NeocortexVT/VNyanDocFork GitHub Wiki
Gateway nodes are nodes that receive a signal, and forward that signal on the basis of different conditions. They can be used to change effects based on different values, randomize actions, or time actions, among other things. They are characterized by both a (teal) Listener socket, and one or more (yellow) Call sockets, as well as optional (red) Value Input sockets.
Types of Gateway nodes:
- M - Manual input
- T - Trigger output
-
S - Socket input/output*
*Gateway Nodes do not have Output Socket Values, and so S will exclusively refer to Socket input.
For more details on node input and output, see Input and Output methods
Send a trigger signal depending on a Blendshape Clip value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Blendshape Name | M/S | String | Name of the Blendshape Clip whose value will be checked. |
Value | M/S | Int | The value to compare the Blendshape Clip value to. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
>= | T | - | Send a trigger signal if the blendshape value of the named blendshape is larger or equal to Value. |
< | T | - | Send a trigger signal if the blendshape value of the named blendshape is smaller than Value. |
Note The first value of this node is a Blendshape Name.
Send a trigger signal depending on a numeric parameter value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Parameter Name | M/S | String | Name of the numeric parameter whose value will be checked. |
Value | M/S | Int | The value to compare the numeric parameter value to. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
> | T | - | Send a trigger signal if the blendshape value of the named blendshape is larger than Value. |
= | T | - | Send a trigger signal if the blendshape value of the named blendshape is equal to Value. |
< | T | - | Send a trigger signal if the blendshape value of the named blendshape is smaller than Value. |
Note The first value of this node is a Parameter Name.
Send a trigger signal depending on whether a condition over a text value is true or false.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Operation | M | - | Whether to check if the first value is exactly equal to the second value, or if the first value contains the second value. Has case-sensitive and case-insensitive options. |
Text Value | M/S | String | The text value what will be checked. |
Compare Value | M/S | String | A text value to which the first text value will be compared. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
true | T | - | Send a trigger signal if the condition of the text comparison is met. |
false | T | - | Send a trigger signal if the condition of the text comparison is not met. |
Send a trigger signal depending on the relationship between two values.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value 1 | M/S | Float | The value on the left side of the comparison. |
Value 2 | M/S | Float | The value on the right side of the comparison. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
> | T | - | Send a trigger signal if Value 1 is larger than Value 2. |
= | T | - | Send a trigger signal if Value 1 is equal to Value 2. |
< | T | - | Send a trigger signal if Value 1 is smaller than Value 2. |
Note The first value of this node is a number.
Perform a logic operation over two comparisons of text values to a condition, and send a trigger signal depending on whether the operation is true or false. Can take either values or text.
The node makes two comparisons. First, it checks if Value 1 equals the Comparison Value using the set Operation. Next, it checks if Value 2 equals the Comparison Value. The results of those two comparisons are combined according to the selected operation.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value 1 | M/S | String | The first value to compare against the Comparison Value. |
Value 2 | M/S | String | The second value to compare against the Comparison Value. |
Comparison Value | M/S | String | The value to compare both Values 1 and 2 to. |
Operation | M | - | The logic operation along which comparison 1 and 2 should be combined:
|
Case Insensitive | M/S | Bool | Toggle whether the comparisons are case insensitive. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
true | T | - | Send a trigger signal if the condition of the logic operation is met. |
false | T | - | Send a trigger signal is the condition of the logic operation is unmet. |
Example
Suppose Value 1 and 2 are set to "yes" and "no" respectively, and Comparison Value is set to "yes". If Operation is set to AND, the false Socket will send a trigger signal, since Value 1 and 2 are not both "yes". If Operation is set to OR, the true Socket will send a trigger signal, since one of the two values is "yes".
Check whether the Cooldown node is on cooldown, send a trigger signal depending on whether it was or not, and if the cooldown was not active, put the node on cooldown for the specified amount of time.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Cooldown milliseconds | M/S | Int | The duration of the cooldown that the cooldown node will be put on after being activated when it is not on cooldown. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Ok | T | - | Send a trigger signal if the Cooldown node is not on cooldown at the moment it is activated. |
On Cooldown | T | - | Send a trigger signal if the Cooldown node is on cooldown at the moment it is activated. |
Send a different trigger signal depending on whether an input text value matches one of the specified text values.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Switch Value | M/S | String | The input text that will be compared against the specified cases. |
Case 1-5 Value | M/S | String | The text value where, if Switch Value matches it, a trigger signal will be sent for that case. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Case 1-5 Value | T | - | Send a trigger signal is the Switch Value matches the specific Case Value. |
Else | T | - | Send a trigger signal is Switch Value matched none of the Case Values. |
Send a trigger signal depending on whether an input boolean is true or false at the moment the Bool Filter node is activated.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Input Value | S | Bool | The boolean value that determines which trigger signal the Bool Filter node sends. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
true | T | - | Send a trigger signal if Input Value is true when the Bool Filter node is activated. |
false | T | - | Send a trigger signal if Input Value is false when the Bool Filter node is activated. |
Perform a logic operation over two boolean values, and send a trigger signal depending on whether the operation is true or false.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Value 1 | S | Bool | The first boolean value in the logic operation. |
Operation | M | - | The logic operation along which values 1 and 2 should be combined:
|
Value 2 | S | Bool | The second boolean value in the logic operation. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
true | T | - | Send a trigger signal if the condition of the logic operation is met. |
false | T | - | Send a trigger signal is the condition of the logic operation is unmet. |
These nodes are used to check if certain inputs are present at the moment that the node is triggered.
Send a trigger signal depending on whether the volume of the input from a specified microphone exceeds a specified value.
Audio Input can be a virtual audio cable, like VB Audio Cable or similar (note that swapping default audio devices in Windows while VNyan is running will break audio processing).
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.
|
Volume | M/S | Float | A value between 0 and 100 to which the input volume will be compared. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Current Volume | - | Float | The current input volume. |
>= | T | - | Send a trigger signal if the input volume at the moment the node is triggered is larger than or equal to Volume. |
< | T | - | Send a trigger signal if the input volume at the moment the node is triggered is smaller than Volume. |
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.
Send a trigger signal depending on whether the heartrate registered by Pulsoid exceeds a specified value. Heartrate is expressed in beats per minute. Pulsoid must be connected in order for this node to work.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Heart Rate | M/S | Int | Value against which heart rate will be checked. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Current HR | - | Int | The current heart rate in beats per minute. |
>= | T | - | Send a trigger signal if heartrate at the moment the node is triggered is larger than or equal to Heart Rate. |
< | T | - | Send a trigger signal if heartrate at the moment the node is triggered is smaller than Heart Rate. |
Builtin Parameters
- [heartrate] contains current heart rate
- [heartpercent] percentage (0.0-1.0) of heart rate between 30-300
Send a trigger signal depending on whether a specified key combination is pressed at the moment the node is activated.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Set Hotkey | M | - | The key combination to check for the moment the node is activated. The key combination can be specified by pressing the Set Hotkey button and pressing the desired key combination on your key board. TAB, Caps Lock, META, or punctuation like the semi-colon, period, etc. are not accepted as input. CTRL, ALT and SHIFT can be used as modifiers with other keys. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
On | T | - | Send a trigger signal if the specified key combination is pressed at the moment the node is activated. |
Off | T | - | Send a trigger signal if the specified key combination is not pressed at the moment the node is activated. |
Send a trigger signal depending on whether a selected gesture is registered by the Gestures System at the moment the node is activated.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Gesture | M | - | The gesture to check for the moment the node is activated. Gestures must be registered in the [[Gestures Menu |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
On | T | - | Send a trigger signal if the specified gesture is registered at the moment the node is activated. |
Off | T | - | Send a trigger signal if the specified gesture is not registered at the moment the node is activated. |
Send a trigger signal depending on whether a specified gamepad button is pressed at the moment the node is activated. VNyan should automatically connect any currently plugged in gamepads.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Button | M | - | The button to check for the moment the node is activated. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
On | T | - | Send a trigger signal if the specified button is pressed at the moment the node is activated. |
Off | T | - | Send a trigger signal if the specified button is not pressed at the moment the node is activated. |
Note To filter based on joystick directional input, use the Filter Parameter node. Joystick directional input is stored to the _gamepadrightx, _gamepadrighty, _gamepadleftx, and _gamepadlefty parameters automatically when a gamepad is connected.
Community Note: The behavior when multiple gamepads are connected is currently unknown, e.g. which gamepad is given priority, or are all gamebads read?
Send a trigger signal depending on whether a specified Steam VR controller button is held at the moment the node is activated.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Button | M | - | The button whose state is checked at the time the node is activated. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
On | T | - | Send a trigger signal if the specified button is pressed at the moment the node is activated. |
Off | T | - | Send a trigger signal if the specified button is not pressed at the moment the node is activated. |
Randomly send one of two trigger signals.
Output Values:
Name | Method | Type | Description |
---|---|---|---|
- | T | - | Two Call Sockets, one of which will send a trigger signal whenever the node is activated. |
Randomly send one of ten trigger signals.
Output Values:
Name | Method | Type | Description |
---|---|---|---|
- | T | - | Ten Call Sockets, one of which will send a trigger signal whenever the node is activated. |
Note Unconnected Call Sockets can be selected for an output signal, effectively providing a 10% change nothing will happen when the node is activated.
Check if a given Text Array contains an item that exactly matches a specified case-sensitive text value.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Text Array Name | M/S | String | The name of the array to check. |
Case Sensitive Value | M/S | String | The text value that will be searched for in the Text Array. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Yes | T | - | Send a trigger signal if Case Sensitive Value exists in the Text Array. |
No | T | - | Send a trigger signal if Case Sensitive Value does not exist in the Text Array. |
Execute all output sockets in order from top to bottom.
Usually, when multiple wires are connected to a single Call Socket, the order of execution is based on the order that the wires were created. This order can change during VNyan's startup. Using the Ordered Execution node, the order in which multiple nodes are activated can be ensured to remain the same between sessions.
Output Values:
Name | Method | Type | Description |
---|---|---|---|
- | T | - | Five Call Sockets which will send trigger signals in order. |
Send one trigger signal each time the node is activated, in order from top to bottom. Empty sockets are skipped.
Output Values:
Name | Method | Type | Description |
---|---|---|---|
Next Output | - | - | Which socket will send a trigger signal the next time the node is activated. Advances to the next connected socket whenever the node is activated. After all connected sockets have sent a trigger signal, it will cycle back to the first connected socket. |
- | T | - | Five Call Sockets which will send trigger signals in order. Each time the Cycler5 Split node is activated, only the socket listed in Next Output will send a trigger signal. |
Wait a specified amount of milliseconds after being activated before sending a trigger signal to connected nodes. The node will not stop the parent node's other child nodes from executing.
Input Values:
Name | Method | Type | Description |
---|---|---|---|
Wait milliseconds | M/S | Int | The time to wait after the wait node is activated before sending a trigger signal to connected nodes, in milliseconds. |
Output Values:
Name | Method | Type | Description |
---|---|---|---|
- | T | - | Send a trigger signal after the wait-time has elapsed. |
A message box used to add documentation within graphs. The Message Box node in its entirety is an input field, and can be edited by clicking anywhere within it.
The node supports Rich Text editing so it's possible to enter markup inside angle brackets. Supports italics, bold, size, and color. Note that the markup will disappear while the textbox is selected. To remove a markup tag, put the cursor at the beginning of the marked-up text and press backspace, and put the cursor near the end of the text and press delete.
Markup Tags:
Name | Method | Type | Description |
---|---|---|---|
bold | M | String | <b>message</b> |
italics | M | String | <i>message</i> |
size | M | String | <size=20>message</size> |
color | M | String | <color=red>message</color>. The color tag accepts the names of common colors or color hexadecimal value. |