BT DESIGN TAKE AWAY
image.pngimage.png
- 把问题从行为树中解耦,比如说使用一个黑板。(感觉类似把状态等,作为行为树的全局变量)
- 建立短小意义明确的序列节点
- 小心使用“状态”类型的节点保持运行(行为树更趋向一个目的性,而不关心当前是怎样的状态)
- 利用树搜索的力量
SCRIPT INTEGRATION
- 保证灵活性:使用选择节点;目标可重用
- 快速迭代是关键目标:更大的游戏,更多的角色,更个性化的行为;需要快速的改变来实现原型和游戏测试
- 算法和行为分离(算法单独写,行为单独写,不要混在一起)
- 通用的结构:预条件;行为
- 推荐LUA
BENEFITS OF USING SCRIPT
image.png- 不要写太多的重复节点(节点的复用性)
- 更快的实现和迭代:不要重构代码;可以在运行时重新加载脚本
- 考虑性能
- 不要在执行过程中(不要在需要表现流畅时)使用垃圾回收
- 复杂逻辑不要在节点中表示,用脚本实现
- 权衡,是否为了性能,把行为节点变成代码
- 差不多就行了
- 注意应该在代码中完成的事情
网友评论