Let's name our Behavior Tree DogTree
and make sure our DogBrain
Blackboard asset is plugged into the ROOT entry node. The Blackboard asset set here has variables that can be accessed by the functions within the tree during execution. When variables are instanced and synced, you have a global variable for Mailman
that all other dogs with the same Blackboard asset can see.
Our Behavior Tree will be set up in visually similar way to the following screenshot:
What you can note here is that we will start with a Selector node. This is because we do not want to exit the tree if our child node fails. If it fails, we want to continue to the next node that will ultimately succeed. Within individual trees, we will do something different. Now that we are in a state, we sometimes want to control the sequence of events in order to replicate a particular behavior for this state. So, for our Hungry
state, we will first need to have a bowl. Once we have our bowl, we can go eat. We will...