时间胶囊


时间胶囊是一个行为树管理器。

他对行为树的管理可以分成 2 部分:时间线管理 和 当前资源管理。

下面先从界面开始介绍。

选择工具栏菜单的 Time Capsule 选项,打开时间胶囊面板。

图片不见了?!

场景列表

首先,时间胶囊是以场景为一个大单位来组织行为树的。

比如,当我们有如下 3 个场景,且每个场景都挂有行为树组件时,

图片不见了?!

时间胶囊面板的初始界面可能是这样的,

图片不见了?!

这是一个场景列表。

左边显示的是 场景的名字

右边是一个 小点 和一个 眼睛按钮眼睛按钮 在下个小节讲,现在先解释下 小点

  • 绿色的点 表示该场景为当前场景。
    • 上面这个例子中,表明当前打开的场景是 Level_01
  • 灰色的点 表示非当前场景。
    • 上面这个例子中, StartLevel_02 都是非当前场景。
  • 没有点 表示非本项目的场景。
    • 当满足下列条件时,才会出现这种情况:
      1. 多个项目共用 behavior-dog 插件(比如全局插件),
      2. 非本项目的场景中,有行为树保存了 时间戳
    • 上面这个例子中, Welcome 场景就来自于其他项目。

行为树列表

点击场景列表中的 眼睛按钮 ,进入 行为树列表界面

图片不见了?!

图片不见了?!

这是一个行为树列表。

左边显示的是 行为树的名字该行为树最后修改的时间戳

右边还是一个 小点 和一个 眼睛按钮眼睛按钮 在下个小节讲,现在继续解释 小点

  • 绿色的点 表示当前行为树。
  • 红色的点 表示当前行为树,且行为树数据有更新。
    • 上面这个例子可以看出, Level_01 这个场景中只有一个行为树 Behavior Tree ,且我们对他进行过编辑修改。
  • 灰色的点 表示非当前行为树。
  • 没有点 表示下列 2 种情况之一。
    • 非本项目的行为树。
    • 行为树保存有时间戳,但组件本身被删除了。

时间胶囊列表

点击行为树列表中的 眼睛按钮 ,进入该行为树的 时间胶囊界面

图片不见了?!

图片不见了?!

时间胶囊界面分为 2 部分,由中间的分隔线隔开。

  1. 与行为树相关联的资源
  2. 行为树的时间胶囊列表

行为树资源

时间胶囊界面的上半部分显示的是行为树资源的一些信息。

图片不见了?!

从上图中,我们可以读取到该资源文件在项目里的路径信息,和最后一次对行为树做出修改的时间。

保存时间戳

点击绿色的 Capsulize 按钮,可以保存时间戳,也叫胶囊化。

他的作用是将行为树的数据写入另一个文件保存起来,以支持行为树的 回滚 或者 还原 操作。

[!Note] 注意 该文件保存在 behavior-dog 插件目录下的 tc 文件夹,并不会被打包到项目里。

成功胶囊化后,胶囊列表会自动刷新。

图片不见了?!

在下列情况下,不能胶囊化当前数据(即 Capsulize 按钮不可点击):

  1. 重复胶囊化。胶囊化一次后,需在行为树再次被修改的情况下,才能再度胶囊化。
  2. 空的行为树。行为树里没有任何数据时,胶囊化无意义。

还原时间戳

保存时间戳的目的,就是在以后有需要的时候,可以 还原行为树

[!Note] 还原时间戳的前提条件是,行为树数据必须为空。

接着上面的例子,先关闭时间胶囊面板,

图片不见了?!

然后清空行为树数据,

[!Warning] 需要特别注意的是,这个清空操作是 不可逆的 。

建议先将当前数据胶囊化,再选择一个时间点进行还原。

图片不见了?!

重新打开时间胶囊面板,选中一个时间胶囊,

图片不见了?!

点击 open 按钮,即可打开一个时间胶囊。

删除时间胶囊

点击 Delete 按钮,可以删除该时间胶囊。

图片不见了?!

复制、移动时间胶囊

在时间胶囊面板中,可以在行为树之间复制和移动时间胶囊。

图片不见了?!

比如, 点击 Copy 按钮,复制一个时间胶囊,

图片不见了?!

然后,切换到 其他行为树 的时间胶囊界面,

图片不见了?!

点击 Paste From Clipboard 按钮,即可实现复制一个时间胶囊。

重命名时间胶囊

在胶囊化一个行为树时,会把该行为树的名字设置为胶囊的名字。

此后,修改行为树的名字时,并不会同步更新胶囊的名字。

因此提供了一个重命名的选项。

图片不见了?!

导出时间胶囊

点击更多选项里的 Export 按钮,可以将一个时间胶囊导出。

图片不见了?!

导入时间胶囊

点击面板下方的 Import 按钮,可以将一个外部行为树资源文件,导入为时间胶囊。

图片不见了?!

复制行为树

通过时间胶囊的方式,即可以保存、还原行为树,也可以实现行为树之间数据的复制。

但是如果我不想使用胶囊,能不能直接复制行为树呢?

当然可以。

点击 Capsulize 旁边的 Copy 按钮,将行为树数据发送到剪贴板。

图片不见了?!

然后,切换到 其他行为树 的时间胶囊界面,

图片不见了?!

点击 Overwrite Asset From Clipboard 按钮,即可实现复制一个行为树。

[!Note] 当然,跟打开一个时间胶囊一样,前提是先清空行为树数据,粘贴按钮 Overwrite Asset From Clipboard 才会被激活。

导出行为树

图片不见了?!

results matching ""

    No results matching ""