State Nodes

The state nodes are responsible for managing the Finite-State Machine.

State Socket

The output of a state is connected via a State Socket to another state that can be moved to next.

Dependancy Socket

Dependancy sockets are used to restrict which nodes are evaluated based on the current state.

A node will be evaluated if it has nothing connected to its Dependant socket or if any one of the states connected to the Dependant socket is the current state.

For example:

../../../_images/state_dependancy.png

When in the Start state, none of the input nodes have active states connected to their Dependant sockets so aren’t evaluated (as if they weren’t part of the brain for this frame). When in the “Move” Action state, the input node 1 and input node 3 are evaluated and the Position Y output is 1 and Rotation Z is 0.05. After 10 frames when the state moves to “Slow”, the first input node again becomes inactive and the second one becomes active. This makes the Position Y output 0.1. Input node 3 is still evaluated even though Move is no longer the current state because Slow is now the current state and that is also connected to the Dependant socket of Input 3.