Behavior Designer-概述


Behavior Designer可以为每一位程序员、艺术家、设计师提供行为树实现设计提供支持。Behavior Designer提供了强力的API来让你轻松的创建一个任务。它提供了一个直观可视的编辑器,通过结合PlayerMaker、uScript让不写一行代码制作复杂的AI成为可能。
这个指引文档会给读者综合的介绍Behavior Designer的各个方面。如果你不知道什么是行为树可以在网上快速的学习一下。通过Behavior Designer你不需要了解行为树是如何具体工作的但是通过学习你可以更好地了解Behavior Designer的一些关键字眼比如(action, composite, conditional and decorator),你也可以看一下开发者的学习视频。

当你第一次打开Behavior Designer会有如下图的一个窗口。

【图一】【图一】

如下图所示,Behavior Designer有四个块界断面。界断面1是你用来创建行为树的区域。界断面2是属性面板,它用来编辑行为树上的具体属性,用来增加任务,创建变量,编辑任务的具体属性。截面3是行为行为树的操作工具栏。你可以用下拉框来选择现在已经有的行为树,或者增加删除行为树。截面4是调试工具栏,你可以开始、停止、step、暂停unity通过这个工具栏。随着执行行为树你会看到有多少错误。

【图二】【图二】

截面1是你在Behavior Designer工作中用到的最主要的部分。通过这块区域你可以增加一些任务然后把这些任务摆列成一个行为树。在所有工作之前你首先需要增加一个行为树组件。这个行为树组件作为你将要创建的行为树的管理者。你可以通过右键点击图标区域然后点击“Add Behavior Tree”或者点击区域3里“Lock”按钮旁边的加号按钮来创建一个新的行为树。

当增加了行为树之后你就可以增加任务了。你可以通过右键点击画布区域或者点击界断面2里的“Tasks”标签来添加任务。当一个任务添加后你会看到如下图所示。

【图三】【图三】

除了你增加的任务之外,“Entry”(入口)任务也会被增加。入口任务就相当于树结构的根节点。这是入口任务的唯一功能。这个Sequence任务是有错误的,因为没给它增加子任务。当你增加了子任务这个错误就会消失了。现在我们增加一些任务。

【图四】 【图四】

你可以通过拖拽Sequence任务底部区域到Selector任务之上来连接这两个任务。对剩下的任务重复这个过程。如果你连接出现失误你可以通过选中连接线然后按delete键来删除连接。你也可以通过点击拖拽任务来重新排列他们。
Behavior Designer将会通过深度优先级来执行这些任务。你也可以通过按照从左到右的规则来拖动兄弟级的任务来改变他们的执行顺序。
看上面的截图,这些任务的执行顺序如下:
SequenceA, SelectorA, SequenceB, ActionA, ActionB, ActionC, SelectorB, ActionD, ActionE

【图五】【图五】

现在我们创建了一个基础的行为树,让我们修改其中一个任务的属性。选择ActionC节点然后在属性面板点击Inspector,出现检视菜单。你可以在这里修改任务的名字或者编辑任务的描述。随后我们可以修改这个任务类所支持的公共变量。它可以是任何Behavior Designer所支持的变量。在我们这个例子里只有“Rotation Speed”这一个公共变量。我们修改的这个参数值将会被用于这个行为树中。
另外在属性面板里还有三个标签分别是Variables(变量), Tasks(任务), and Behavior(行为)。Variables面板可以创建共享与不同任务之间的公共变量。更过信息可以在变量题目里。Tasks面板罗列了所有你可能用到的任务。这里边的任务和你右键添加任务的内容是一样的。这些内容是通过action, composite, conditional, 或者 decorator 任务派生的。最后一个Behavior面板是用来展示Behavior Tree 组件的信息的。详细信息可见下文具体介绍这部分的文章。

【图六】【图六】

Behavior Designer中最后的截面是操作工具条。操作工具条最常用来选择行为树,增加或者移除行为树。标签1处的箭头用于切换你已经打开的行为树。标签2处的下拉框用来罗列当前场景或项目的行为树。这意味着它将会包含预制体。标签3处的下拉框用来罗列已经加上行为树的GameObject。它也是指在当前场景或工程中。最后标签4处的下拉框罗列的是附加于标签3处选中的GameObject的行为树。
标签5处的减号按钮会移除当前的行为树。标签6处的加号按钮会创建一个新的行为树。标签7处的“LOCK”按钮会锁定当前的行为树,当你选中别的GameObject的时候也不会改变。标签8处的“SAVE”按钮会保存当前行为树到一个行为树资源(新版本改为“Export”,功能不变)。最后的“Preference”按钮(标签9)里包含所有的Behavior Designer插件的参数选择项。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值