Bt Studio

Table of contents

1. Introduction
2. File Menu
3. Edit Menu
4. View Menu
5. Node Menu
6. Help Menu
7. First Tool Bar
8. Second Tool Bar
9. Main Editable Diagram Window
10. All Node List Window
11. Node Attribute Table Window
12. References

btstudio_menus

1. Introduction
Bt Studio is a standalone Qt application written in C++ that implements the tree layout algorithms proposed by Buchheim, et al. [1] and Walker [2]. The main purpose of Bt Studio is to provide GUI utilities for users to visually edit the behavior tree/forest diagrams as well as their node attributes. These diagram and attribute data can be imported and exported as XML files, which is the file format for Bt Engine to read in when loading a tree/forest in Unity Engine.
2. File Menu
File->New->Forest File
New a forest diagram in a new tab.
File->New->Tree File
New a tree diagram in a new tab.
File->Open->Forest File
Open a forest XML file from disk in a new tab.
File->Open->Tree File
Open a tree XML file from disk in a new tab.
File->Close
Close the current tab.
File->CloseAll
Close all the tabs.
File->Save (Ctrl+S)
Save the forest or tree diagram in the current tab on disk.
File->SaveAs
Save the forest or tree diagram in the current tab on disk with a new copy.
File->SaveAll (Ctrl+Shift+S)
Save all the forest or tree diagram(s) in all the tab(s) on disk.
File->Quit
Quit the Bt Studio application.
3. Edit Menu
Edit->Undo (Ctrl+Z)
Undo one of these operations: NewForest, NewTree, NewSelector, NewSequence, NewParallel, NewDecorator, NewCondition, NewAction, Cut, Paste, or Delete.
Edit->Redo (Ctrl+Y)
Redo one of these operations: NewForest, NewTree, NewSelector, NewSequence, NewParallel, NewDecorator, NewCondition, NewAction, Cut, Paste, or Delete.
Edit->Add->NewForest
Add a new Forest node to the current selected node as the rightmost child. Only the BehaviorForestRoot node in the forest diagram can be added a new Forest node as a child.
Edit->Add->NewTree
Add a new Tree node to the current selected node as the rightmost child. Only the Forest node in the forest diagram can be added a new Tree node as a child.
Edit->Add->NewSelector
Add a new Selector node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Selector node as a child.
Edit->Add->NewSequence
Add a new Sequence node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Sequence node as a child.
Edit->Add->NewParallel
Add a new Parallel node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Parallel node as a child.
Edit->Add->NewDecorator
Add a new Decorator node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Decorator node as a child.
Edit->Add->NewCondition
Add a new Condition node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Condition node as a child.
Edit->Add->NewAction
Add a new Action node to the current selected node as the rightmost child. Only the BehaviorTreeRoot node, Selector node, Sequence node, Parallel node, or Decorator node in the tree diagram can be added a new Action node as a child.
Edit->Cut (Ctrl+X)
Cut the current selected node and all the sub-tree node(s) below it.
Edit->Copy (Ctrl+C)
Copy the current selected node and all the sub-tree node(s) below it.
Edit->Paste (Ctrl+V)
Paste the node or the sub-tree nodes that was cut or copied to the current selected node as a rightmost child.
Edit->Delete (Del)
Delete the current selected node and all the sub-tree node(s) below it.
Edit->Change->ToSelector
Change the current selected node to a Selector node.
Edit->Change->ToSequence
 Change the current selected node to a Sequence node.
Edit->Change->ToParallel
 Change the current selected node to a Parallel node.
Edit->Change->ToDecorator
 Change the current selected node to a Decorator node.
Edit->Change->ToCondition
 Change the current selected node to a Condition node.
Edit->Change->ToAction
 Change the current selected node to an Action node.
Edit->MoveLeft
 Move the current selected node to the left side of its left sibling node.
Edit->MoveRight
 Move the current selected node the right side of its right sibling node.
4. View Menu
View->ZoomIn
Zoom in the forest or tree diagram.
View->ZoomOut
Zoom out the forest or tree diagram.
View->Focus (Ctrl+F)
Focus the view on the root node of the forest or tree diagram.
5. Node Menu
Node->Name->ResetAll
Reset all node names to their node type name abbreviation, node type name, or a custom name. (This tool is locked for Trial Edition.)
Node->Name->SerializeAll
Change all node names to their node type name with a suffix of node index. (This tool is locked for Trial Edition.)
Node->Name->AppendAll
Append a prefix, suffix, or node index to all node names. (This tool is locked for Trial Edition.)
Node->Attribute->ClearAll
Clear all user attributes of each node. (This tool is locked for Trial Edition.)
6. Help Menu
Help->About
Display Bt Studio edition, version, and copyright information.
Help->License
Display Bt Studio license information.
Help->Manual
Display Bt Studio online manual reference.
Help->Register
Register with an email address and corresponding license key to upgrade to the ultimate edition.
7. First Tool Bar
ZoomIn, ZoomOut, Focus, Save, SaveAll, Undo, Redo, Cut, Copy, Paste, Delete, MoveLeft, MoveRight
8. Second Tool Bar
NewForest, NewTree, NewSelector, NewSequence, NewParallel, NewDecorator, NewCondition, NewAction
9. Main Editable Diagram Window
Display the editable forest or tree diagram.
10. All Node List Window
Display a list of all the nodes in the forest or tree diagram in an order of node index.
11. Node Attribute Table Window
Display all the attributes of a node in a table. Each attribute is composed of a pair of parameter and value. Most of the attributes can be passed to the BtEngine in Unity with a pair of strings.
Type
The Type of a node should be one of these node types in a forest diagram: ForestRoot, Forest and Tree. It should be one of these node types in a tree diagram: TreeRoot, Selector, Sequence, Parallel, Decorator, Condition, and Action.
Index
In a forest diagram, the Index of a Forest node or a Tree node is the child index of its parent node. In a tree diagram, the Index of each node is the depth-first traversal order of the tree.
Name
The Name of a node should be defined by user.
Policy
The Policy of a node can only be applied to a Parallel node, a Decorator node, a Condition node, or an Action node in the tree diagram.
File
The File of a node can only be applied to a tree node in the forest diagram. It should be the tree XML file name of the tree node.
Note
The Note of a node can be anything that you want to comment on that node. This attribute will never be passed to the BtEngine in Unity.
User Attributes
The User Attributes can only be applied to a Forest node or a Tree node in the forest diagram, and a Decorator node, a Condition node, or an Action in the tree diagram. The User Attributes of each node can be passed to Bt Engine in Unity, except the Forest node.
12. References
1. Christoph Buchheim, Michael Junger, and Sebastian Leipert. Improving Walker’s algorithm to run in linear time. Graph Drawing 2002, LNCS2528, pp 344-353, 2002.
2. John Q. Walker II. A node-positioning algorithm for general trees. Software – Practice and Experience, volume 20, issue 7, pages 685-705, 1990.