behaviac组件中的编辑器和运行时库都支持热加载,但是只针对XML/BSON格式的行为树文件。

在编辑器中,只要当前打开的行为树文件在编辑器外由于某种原因得到修改(例如,通过项目中的文件版本管理系统强制同步行为树文件,或者通过文本编辑器强制修改行为树XML文件等),那么都可以自动的在编辑器中得到刷新。

对于运行时端(或程序端),只要在编辑器中修改了行为树文件并重新导出,那么在游戏运行过程中不用退出游戏,最新导出的行为树就可以自动进行加载。这样可以及时查看或使用行为树最新的修改效果。

行为树的更新执行流程请参考更新流程

为了启动热加载功能,需要确保在运行时端直接或间接调用了Workspace::DebugUpdate()函数,有两种方式:

  • 如果Agent的行为树是通过调用Workspace::Update()来集中执行的,则无需额外调用Workspace::DebugUpdate()函数
  • 如果Agent的行为树是通过调用Agent::btexec()来执行的,则需要游戏每次更新时调用Workspace::DebugUpdate()函数

发表评论

电子邮件地址不会被公开。 必填项已用*标注