String | This node provides a constant string value. | |
Boolean | This node provides a constant boolean value. | |
Int | This node provides a constant integer value. | |
Float | This node provides a constant float point value. | |
Array | This node provides a constant array of a range of types. | |
Color Value | This node provides a constant color value. | |
Event | This node triggers events. | |
Event Filter | This node filters incoming events by their arguments. |
Except for Event and Array, all Variable nodes have an input property of the same type and an output event that fires when the input property value changes. All of them can be found by going to the Logic category in the Toolbox and right clicking on the Variables item.
There are two main applications for Variable Nodes. One is as constants which can then be bound to other nodes. For example a Float Variable might be bound to multiple Delay nodes to have a unified place to change all delay timings in a scene. This is especially important in the context of Containers to have a single property that can be exposed. The other main application is to detect when a value changes, using the Changed output event.
When adding an Array Variable to a scene, the length of the array and the type has to be specified. Each item in the array is of the selected type and has a corresponding input property. The supported types are currently: Float, Int, Boolean, Byte, String and Matrix. Arrays can be used as input for Chart or the Script nodes.
Note that the number of array elements is limited to 10000 for performance reasons!
The Event Variable triggers its Fired output event when the Shot input property is changed from false to true or by triggering the Invoke method. The input property Delay defines the delay in frames between the event being triggered and the output method firing. The input property Enabled activates/deactivates the Event Node. A common use of the Event node is in combination with an Expression Node. This makes it possible to trigger events indirectly by an Expression. The Argument property specifies an integer value which is embedded in the event. This value can then be evaluated by e.g. the Counter, Switch and Script nodes if they are bound to such an Event node. If the UseIncomingArgument property is enabled the incoming argument is passed and the Argument property is ignored.
The Event Filter reads the argument value of the incoming event bound to Invoke and tries to find the value in the value array provided in Filters. If a match is found the event is passed to Fired while the corresponding value provided in Arguments gets attached. If no argument is found (e.g. list is too short) the argument value of zero is used. If the Event Filter is not Enabled no processing takes place at all - incoming event are never passed.