拆分行为树
拆分行为树有两种方法,我倾向用不修改C++的方法
main_tree.xml
如下1
2
3
4
5
6
7
8
9
10
11<root main_tree_to_execute = "MainTree">
<include path="./subtree_A.xml" />
<include path="./subtree_B.xml" />
<BehaviorTree ID="MainTree">
<Sequence>
<SaySomething message="starting MainTree" />
<SubTree ID="SubTreeA" />
<SubTree ID="SubTreeB" />
</Sequence>
</BehaviorTree>
<root>
1 | <root> |
include path
可以用绝对路径,也可以用相对路径。
1 | factory.createTreeFromFile("main_tree.xml") |
拆分后,用Groot2打开main_tree.xml
,可以正常编辑和跳转到子树。
函数Tree BT::BehaviorTreeFactory::createTreeFromFile
写的不好,加载xml失败也不知道,最好返回类型是Bool,false代表加载失败。
1 | Tree BehaviorTreeFactory::createTreeFromFile(const std::string& file_path, |